I have 2 files mycode.js and mycode.test.js. I want to test it in Node console (repl) - (no browser), in karma style.
mycode.test.js
var expect = require('expect');
var mycode = require("./mycode");
describe("mycode", () => {
it("should properly run tests", () => {
expect(1).toBe(1);
});
});
What is the simplest possible setup to achieve this?
I don't know how you could make that work in the node repl because a call to require() assumes you load that function separately, before loading the file you want to test. The only way I see of testing code in the repl is by having the function you are using to test included in the loaded file. For example, to test how function override works, you could create function_override.js and then load it into the repl --
$ .load path/to/file/function_override.js
-- and have an assert() function that is used to test the output of other functions inside that file. E.g.:
function assert(value, text) {
if (value === true) {
console.log(text);
} else {
console.log ("that is false");
}
}
var fun = 3;
function FuncType1(){
assert(typeof fun === "function", "We access the function");
}
function FuncType2(){
var fun = 3;
assert(typeof fun === "number", "Now we access the number");
}
function FuncType3(){
assert(typeof fun === "number", "Still a number");
}
function fun(){};
FuncType1(); // returns "We access the function"
FuncType2(); // returns "Now we access the number"
FuncType3(); // returns "that is false"