Jasmine:在函数被调用之前测试变量状态

Jasmine: Testing variable state before function is called

本文关键字:测试 变量 状态 调用 函数 Jasmine      更新时间:2023-09-26

我正在调用一个函数,该函数依赖于全局窗口对象,该对象在通过注入第三方脚本成功运行之前定义了几个变量。ie .

window.foo = 1;
function calledAfter() {
    // inject 3rd party script that depends on
    // window.foo !== undefined
}

使用Jasmine和Sinon.js,我如何测试以确保在calledAfter被调用之前设置window.foo ?

你不会的。这就是为什么全局存储状态是一个非常糟糕的主意的原因之一。如果函数依赖于特定的配置集,则应该注入该配置集,或者(不太理想)有一种请求该配置集的方法。一般来说,依赖管理不是单元测试,而是集成测试。