无法在nodejs中导出变量

问题描述 投票:0回答:1

使用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)
javascript node.js mocha
1个回答
1
投票

你应该导入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是原始变量被设置前的拷贝。

© www.soinside.com 2019 - 2024. All rights reserved.