执行 DOH 测试时如何添加“has”模块?

Posted

技术标签:

【中文标题】执行 DOH 测试时如何添加“has”模块?【英文标题】:How to add 'has' module when executing DOH tests? 【发布时间】:2013-11-04 14:38:51 【问题描述】:

我正在构建一套使用内置浏览器运行程序执行的 Dojo/DOH 单元测试。除了单元测试之外,我正在构建一个工具来为单元测试创​​建模拟,但它需要 Dojo 'undef' API (dojo-undef-api)。在引导过程中,Dojo 将查看hasCache 以查看dojo-undef-api 是否已注册,如果已注册,它会将undef 方法附加到全局require 对象以允许未定义模块。

由于我使用内置的浏览器运行程序来执行我的测试,我很好奇是否有任何方法可以包含或注册dojo-undef-api。真的,我在配置方面的唯一手段是 URL 和 URL 参数。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

您如何在测试中包含 dojo?您应该能够在那里配置您需要的任何选项。

如果由于某种原因无法做到这一点,我不完全确定 dojo-undef-api 是否可以这样配置,但 require can take a configuration object as its first argument:

如果提供了配置对象,则会将其传递给配置 API,如Configuration 中所述。接下来,解析依赖项(如果有)中列出的依赖项。最后,使用作为参数传入的已解析依赖项执行回调(如果有)。

我不能 100% 确定可以这样做的原因是 the caveats with the has API listed here in the note underneath the example of using a configuration object with require。

我的答案中所有链接都来自的文档更多详细,并且可能包含您需要的答案。

我还会查看 _parseURLargs.js 以查看 DOH 运行器使用的默认值。

【讨论】:

以上是关于执行 DOH 测试时如何添加“has”模块?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 doh 测试非 dojo javascript 代码?

Dojo 和 doh:测试特定主题订阅

如何在 Travis CI 上设置 Dojo Doh 单元测试?

如何在 Dojo DOH 测试中运行服务器 url

执行测试时找不到Go模块包[关闭]

类似于 dojo DOH 的 Javascript 测试框架