Невозможно экспортировать переменную в nodejs - PullRequest
0 голосов
/ 09 мая 2020

Используя mocha, пытаясь экспортировать переменную из файла testHook, но получаю undefined в тестовом файле, мой код:

Test File:

 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);
 });

Вывод ::

 test suite 1
 10
 undefined
 ✓ test 1: 1ms
 Suite duration: 0.009 s, Tests: 1
 1 passing (10ms)

1 Ответ

1 голос
/ 09 мая 2020

вы должны импортировать 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 - это копия исходной переменной перед установкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...