在 javascript 中测试时,在 'before' 块中定义的变量在 'It' 块中使用时显示未定义

While testing in javascript, Variables defined in 'before' block is showing undefined while using in 'It' block

这是一个示例测试,我正在测试 testNum 应该为 0,

代码:

describe("Test Contract", () => {
    
    before(async () => {
        const testNum = 0;
    })
    
    it("should be zero", function () {
        expect(testNum).to.equal(0);
    })
  }

但是我收到一条错误消息,指出 testNum 未定义。

错误:

1) Test Contract
       should be zero:
     ReferenceError: testNum is not defined

我做错了什么?

变量 testNum 的范围为您定义它的 {}。此外,const 用于只读值。我假设您想多次重新分配 testNum 。因此你应该使用 let.

您可能想要的是:

describe("Test Contract", () => {
    let testNum;
    before(async () => {
        testNum = 0;
    })
    
    it("should be zero", function () {
        expect(testNum).to.equal(0);
    })
  }