首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用DOH测试自定义模块

用DOH测试自定义模块
EN

Stack Overflow用户
提问于 2013-09-23 16:20:49
回答 2查看 133关注 0票数 1

我试图为一个超出我控制范围的旧JS文件/模块构建一些单元测试。

JS模块是使用以下模式构建的.

代码语言:javascript
复制
var myModule = {
    myMethod:function() {
    }
};

然后,我试图构建一个DOH测试工具来测试这一点。我试过以下..。

代码语言:javascript
复制
require([
    "doh/runner",
    "../../myModules/myModule.js"
    ], function(doh) {
        console.log(doh);
        console.log(myModule);
    });

这份文件看上去很好,但我不能参考其中的任何内容。"console.log(myModule);“只是返回未定义的。

有人知道我如何在DOH测试工具中正确地包含一个外部的非dojo模块JS文件吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-23 18:16:44

您需要在回调myModule语句的函数中声明require

代码语言:javascript
复制
require([
    "doh/runner",
    "../../myModules/myModule"
], function(doh, myModule) { // <-- include myModule
    console.log(doh);
    console.log(myModule);
});

只需确保myModule.js返回模块即可。

票数 0
EN

Stack Overflow用户

发布于 2013-09-24 04:23:50

除了不应该使用DOH (使用实习生)之外,没有理由不应该在那里看到myModule。您使用的是脚本地址,而不是模块ID,这是不正确的,您使用的是一个带有require调用的相对路径,这也是不正确的,但是如果这些都阻止加载程序查找和加载脚本,那么它应该会抛出一个您可以在控制台中看到的错误。唯一的另一种可能是,您已经设法在这个myModule脚本中构建了一个内置层,在这种情况下,整个脚本最终被包装在一个闭包中,因此使用var foo将不再定义全局变量foo

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18964183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档