gpt4 book ai didi

javascript - Mocha - 如何使用 before block 设置变量?

转载 作者:行者123 更新时间:2023-11-28 16:50:53 24 4
gpt4 key购买 nike

我的例子有

let resort30 = new Resort('Alta');

在文件顶部,然后在测试用例中使用它,即

let alta = new Visit(resort30, '03/01/2000'); // Note this is before any describe

这有效。但是,如果我在 describe 内以及所有 it 之前创建一个 beforebeforeEach:

before(function () {
let resort30 = new Resort('Alta');
});

并注释掉原始声明,则 resort30 无法识别

 ReferenceError: resort30 is not defined                                                                                                  
at Context.<anonymous> (test/ski_resorts_using_befores.spec.js:52:26)

当我将该变量移动到 beforebeforeEach 中时,如何才能让它工作,以便所有it都可以使用它?

我不希望它位于顶部,我希望它的范围仅限于描述,因为我计划在此文件中进行更多描述。即使有 1 个描述,我也希望能够使用 before 和 beforeEach` 来创建我想要创建的变量和对象。

最佳答案

let仅在已声明的作用域或内部作用域中可见。这就是为什么它在其他范围内不被认可的原因。要拥有某种全局变量,但作用域为 describe() block ,您需要在 block 的顶部声明它并在 before()beforeEach() block :

describe('Test suite', () => {

let resort30 = null;

before(() => {
resort30 = new Resort('Alta');
});

it('should pass', () => {
console.log(resort30);
});
});

关于javascript - Mocha - 如何使用 before block 设置变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59974621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com