Ken*_*ang 5 javascript testing helper mocha.js chai
我有一个具有内部函数的函数,对于我的单元测试,我只想测试内部函数的功能,但是当我导出该函数并调用内部函数时,npm测试返回错误。
在我的main.js:
mainFunction = () => {
functionToBeTested = () => {
// some code
}
}
module.exports = {mainFunction: mainFunction}
Run Code Online (Sandbox Code Playgroud)
在我的test.js
const chai = require("chai");
const assert = require("chai").assert;
const mainFunction = require("./main");
describe ("test", () => {
it("returns results", () => {
let result = mainfunction.functionToBeTested(args);
//equal code
});
})
Run Code Online (Sandbox Code Playgroud)
但是当我运行npm test 时,它说:
mainfunction.functionToBeTested 不是函数。
我究竟做错了什么?
实际上,您不能以这种方式在另一个函数内调用函数声明。解决方案是在functionToBeTested外部声明mainFunction,然后调用它:
main.js
const functionToBeTested = () => {
// some code
};
const mainFunction = () => {
functionToBeTested();
};
module.exports = { mainFunction, functionToBeTested }
Run Code Online (Sandbox Code Playgroud)
测试.js
const chai = require("chai");
const assert = require("chai").assert;
const { mainFunction, functionToBeTested } = require("./main");
describe ("test", () => {
it("tests mainFunction", () => {
let main = mainfunction(args);
...
});
it("tests functionToBeTested"), () => {
let tested = functionToBeTested(args);
...
});
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1616 次 |
| 最近记录: |