使用mocha试图从testHook文件中导出变量,但在测试文件中得到未定义,我的代码是:。
测试文件。
var xyz = require("testHook").xyz;
class test1 {
execute() {
describe("test suite 1", async () => {
it("test 1", async () => {
console.log(xyz);
});
});
}
}
new test1().execute();
测试文件:testHook.js
function abc()
{
//do some stuff and assume value to be returned is 10
exports.xyz = 10;;
}
beforeEach(() => {
abc();
console.log(this.xyz);
});
输出 :: 测试文件:testHook.js
test suite 1
10
undefined
✓ test 1: 1ms
Suite duration: 0.009 s, Tests: 1
1 passing (10ms)
你应该导入TestHook。
var testHook = require("testHook");
class test1 {
execute() {
describe("test suite 1", async () => {
it("test 1", async () => {
console.log(testHook.xyz);
});
});
}
}
new test1().execute();
当xyz被导入时,测试还没有开始,因此beforeEach还没有被调用。所以,导入的xyz是原始变量被设置前的拷贝。