在 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);
})
}
这是一个示例测试,我正在测试 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);
})
}