javascript - 使用 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
,但它不起作用。
问题是,在函数执行后,如何知道在全局范围内声明的变量的值?
解决方案
推荐阅读
- javascript - 为什么当我点击提交时表单的参数消失了?
- java - 版本冲突,当前版本 [2] 与提供的版本 [1] 不同
- asp.net - 如何在其他函数上使用变量
- regex - 正则表达式:如何在某个字符之前的括号内获取所有内容?
- python-3.x - 仅从具有十六进制字符的字节编码 python 字符串中获取 ASCII 值
- c# - Flurl 的 PostUrlEncodedAsync 忽略 JsonProperty 名称
- python - 未排序的段 argmax 解决方法 tensorflow
- excel - 我想检查数据表上是否存在时间重叠
- javascript - 将防伪令牌附加到 XMLHttpRequest
- javascript - 如何在像uploadify 这样的dropzone 中添加数据?