如何使用 doh 测试非 dojo javascript 代码?
Posted
技术标签:
【中文标题】如何使用 doh 测试非 dojo javascript 代码?【英文标题】:How to test non-dojo javascript code with doh? 【发布时间】:2010-02-02 10:22:26 【问题描述】:doh 是 dojo 单元测试框架。 我正在尝试使用 doh 来测试非 dojo javascript 代码,但我面临的问题是 doh 似乎具有侵入性,并迫使我在测试的 js 文件中使用 dojo.provide() (以及相应的 dojo.require() 在测试js文件)。 我希望经过测试的 js 文件未经修改且与 dojo 无关。 有可能吗?
【问题讨论】:
【参考方案1】:我找到了解决办法。
simple/MyModule.js simple/tests/MyModuleTest.js在测试文件中,只需使用:
dojo.provide("simple.tests.MyModuleTest");
dojo.require("doh.runner");
dojo.require("simple.MyModule",true);
因为 js 文件是在没有 dojo.provide() 模块检查的情况下通过其名称找到的
http://api.dojotoolkit.org/jsdoc/1.2/dojo.require
【讨论】:
这似乎包含该文件,但将其注册为“非模块”。任何在文件中调用函数的尝试都会导致“函数未定义”。您是如何调用要测试的 javascript 函数的?【参考方案2】:我认为 DOH 确实(仅)依赖于 Dojo 加载程序。您是否尝试过定义通常在 dojo.provide 中的对象?你可能会侥幸逃脱。而不是做
dojo.provide("mytests.mymodule")
试试
mytests.mymodule=;
【讨论】:
【参考方案3】:您需要检查此alternative of dojo DOH。是 SitePen 开发的 Dojo Foundation Project。
【讨论】:
以上是关于如何使用 doh 测试非 dojo javascript 代码?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Travis CI 上设置 Dojo Doh 单元测试?