QUnit 没有像我期望的那样运行手动命名空间的设置代码
QUnit isn't running manually namespaced setup code like I would expect?
In 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");
});
使用 Chutzpah 测试适配器运行上述测试时,我'undefined' is not an object (evaluating 'window.MyNamespace.MySubNamespace')
。 也就是说,在var ns2
行上抛出了一个异常,我永远不会得到最后一个ok()
断言。 我做错了什么? 在尝试运行测试之前.js qUnit/Chutzpah不应该运行代码吗?
我已经更改了测试。以下测试工作...
/// <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");
ok('MyNamespace' in window, "namespace is bad");
ok('MySubNamespace' in window.MyNamespace, "subnamespace is bad");
});
相关文章:
- 在javascript中使用命名空间
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- javascript中的命名空间,IDE中支持代码完成/内容辅助's
- 如何使用javascript命名空间
- js命名空间和变量范围
- html,js-如何限制元素"范围“-命名空间
- 转换自的JavaScript命名空间
- 命名空间与自调用函数
- 什么's当前命名空间/类中JavaScript子命名空间/类的语法
- 无法加载Ace.js编辑器模式和主题(命名空间项目&AMD require.js&grunt
- jQuery命名空间和使用“;这个“;
- 在Firebug控制台中监视javascript命名空间变量
- jQuery事件命名空间是否可以包含破折号
- 用自定义javascript全局命名空间替换窗口
- 如何在Typescript中导出具有其他名称的命名空间
- 从html文件中的脚本标记调用非全局命名空间函数
- 具有命名空间的文档上的 jQuery 事件未按预期运行
- 编译转换:在运行TypeLite.tt时找不到类型或命名空间名称
- Javascript在自定义命名空间中运行
- QUnit 没有像我期望的那样运行手动命名空间的设置代码