【发布时间】:2013-09-23 16:20:49
【问题描述】:
我正在尝试为我无法控制的旧 JS 文件/模块构建一些单元测试。
JS 模块使用以下模式构建...
var myModule = {
myMethod:function() {
}
};
然后我正在尝试构建一个 DOH 测试工具来测试这一点。我尝试了以下...
require([
"doh/runner",
"../../myModules/myModule.js"
], function(doh) {
console.log(doh);
console.log(myModule);
});
该文件似乎可以正常提取,但我无法引用其中的任何内容。 “console.log(myModule);”只是返回未定义。
有人知道我如何在 DOH 测试工具中正确包含外部非 dojo 模块 JS 文件吗?
谢谢
【问题讨论】:
-
myModule是否在旧 JS 模块中的任何地方返回?如果是这样,您需要将其添加到您的回调中,就像提到的@DesertIvy 一样。如果不是,它只是为一些全局变量赋值,你可能需要通过将它们挂在全局对象上来确保它们实际上是全局的,例如window并像window.myModule一样访问它。 -
myModule 不会在旧 JS 模块的任何地方返回。怎么把它挂在窗外?
-
也许
window.myModule = myModule在你的模块文件的底部? -
正如我在另一条评论中指出的:它应该是
require依赖列表中的“myModules/myModule”。不要包含文件扩展名。
标签: javascript dojo doh