我正在尝试从 dojo-1.3.2 运行 DOH 以从命令行测试简单的 Javascript 函数。但是,我似乎无法运行任何东西,而且网络似乎没有 DOH 命令行文档。
理想情况下,我想要的结构是:
测试驻留:C:\myproject\tests\
Dojo 驻留:C:\dojo-1.3.2\util\doh
截至目前,我已经在 ..\doh\tests 中进行了一个简单的测试
我尝试在 ..\doh 目录中运行:
java -jar ..\shrinksafe\js.jar runner.js testModule=tests.module
每次我得到:
js:未捕获的 JavaScript 运行时异常:ReferenceError:“窗口”未定义。发生异常:错误:无法加载“tests.module”;最后尝试 'tests/module.js' 0 个测试在 0 个组中运行
有什么我应该做但我遗漏的事情吗?我也尝试过使用 dojoUrl= 指向 dojo.js 文件,但仍然是同样的错误。
据我所知,我的测试在任何地方都没有使用窗口。我有三个文件:
测试/module.js
dojo.provide("tests.module");
dojo.require("tests.functions.functions");
测试/函数/functions.js
dojo.provide("tests.functions.functions");
dojo.require("tests.demoFunctions");
doh.register("tests.functions.functions", [
function test_alwaysTrue(){
doh.assertTrue(tests.demoFunctions.alwaysTrue());
}
]);
测试/demoFunctions.js
dojo.provide("tests.demoFunctions");
tests.demoFunctions.alwaysTrue = function(){
return true;
};
我还尝试重组目录以使 ../dojo-1.3.2/ 包含测试。从命令提示符运行与上述相同的命令同样失败。目录结构:
/dojo-1.3.2
/dojo
/tests
...
/util
/shrinksafe
...
/doh