QUnit не запускает код установки с пространством имен вручную, как я ожидал?
В stuff.js:
function init() {
return "works";
}
(function(ParentNamespace) {
ParentNamespace.MySubNamespace = {};
})(window.MyNamespace || (window.MyNamespace = {}));
В моем тестовом файле JS:
/// <reference path="../../../project1/Shared/sub1/Javascript/stuff.js" />
test("foo test", function () {
deepEqual(init(), "works", "couldn't access source JS file");
ok(window, "no window context");
var ns = window.MyNamespace;
ok(ns in window, "namespace is bad");
var ns2 = window.MyNamespace.MySubNamespace;
ok(ns2 in window, "subnamespace is bad");
});
я получил'undefined' is not an object (evaluating 'window.MyNamespace.MySubNamespace')
при выполнении вышеуказанного теста с использованием тестового адаптера Chutzpah. То есть исключение брошено наvar ns2
линия, и я никогда не доберусь до последнегоok()
утверждение. Что я делаю неправильно? Разве qUnit / Chutzpah не должен был запускать код в stuff.js, прежде чем пытаться запустить тест?