在stuff.js:
function init() {
return "works"; // just here to ensure we can access this file from the test
}
window.MyNamespace = {};
在我的测试JS文件中:
/// <reference path="../../../project1/Shared/sub1/Javascript/stuff.js" />
test("foo test", function () {
equal(init(), "works", "couldn't access source JS file");
ok(window, "couldn't access source JS file");
var ns = window.MyNamespace;
ok(ns, "namespace is bad");
});
使用Chutzpah Test Adapter运行上述测试时,我得到namespace is bad
。我究竟做错了什么?在尝试运行测试之前,qUnit / Chutzpah不应该在stuff.js中运行代码吗?
答案 0 :(得分:0)
我第一次错过了这个。将任何内容设置为空对象都有效,但该引用仍然计算为false。这就是ok断言失败的原因。我需要对严格未定义进行更合适的检查:
ok("ns" in window, "namespace is bad");
根据最高回答here。