【发布时间】:2014-06-20 05:24:21
【问题描述】:
我意识到QUnit.module 提供围绕每个测试的设置和拆卸回调。
QUnit.module("unrelated test", {
setup: function() {
var usedAcrossTests = "hello";
}
});
QUnit.test("some test", function(assert) {
assert.deepEqual(usedAcrossTests, "hello", "uh oh");
});
QUnit.test("another test", function(assert) {
assert.deepEqual(usedAcrossTests.length, 5, "uh oh");
});
如setup 中所见,我想声明一个变量以在以下QUnit.tests 中使用。但是,由于变量只有函数作用域,所以两个测试都失败了,说usedAcrossTests is undefined。
我可以删除var 声明,但这会污染全局范围。特别是如果我将有多个模块,我宁愿不将特定于测试的变量声明为全局变量。
有没有办法在setup 中指定要在模块内的测试中使用的变量,而不会污染全局范围?
【问题讨论】:
标签: javascript scope qunit