0

在 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");
});

namespace is bad在使用 Chutzpah 测试适配器运行上述测试时得到。我究竟做错了什么?qUnit/Chutzpah 不应该在尝试运行测试之前运行 stuff.js 中的代码吗?

4

1 回答 1

0

我第一次错过了这个。将任何内容设置为空对象都有效,但该引用仍然评估为 false。这就是 ok 断言失败的原因。我需要对严格未定义进行更适当的检查:

ok("ns" in window, "namespace is bad");

根据这里的最佳答案。

于 2013-01-28T22:55:08.147 回答