0

我正在调用一个依赖于全局窗口对象的函数,该对象定义了几个变量,然后才能通过注入第 3 方脚本成功运行。IE。

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

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

4

1 回答 1

0

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

于 2013-03-26T10:29:37.930 回答