首页 > 解决方案 > 使用 Jest 在全局范围内声明的测试变量

问题描述

我正在使用 Jest 测试 Vanilla JS 中的一些函数,但我不知道如何访问在全局范围内声明的变量。这是代码的简化版本:

// functions.js
let number = 0;

function incrementNumber() {
    ++number;
    // more code
    // return something different to number value
}
// functions.test.js
it('should increment the value of number by 1', () => {
    let number = 0;
    incrementNumber();
    expect(number).toBe(1);
});

所以我想检查函数执行后incrementNumber,变量number的值是否为1,我无法检查incrementNumber返回值,因为真正的函数更复杂,并且返回的不是number的值。

我试图将变量编号设置0在测试本身内部并将其设置为global.number,但它不起作用。

问题是,在函数执行后,如何知道在全局范围内声明的变量的值?

标签: javascripttestingjestjs

解决方案


推荐阅读