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

时间:2013-03-25 19:31:11

标签: javascript unit-testing jasmine sinon

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

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

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

1 个答案:

答案 0 :(得分:0)

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