我最近将 RequireJS 添加到我的项目中,现在重写了我的 JSTestDriver 测试用例,使其由 requireJS 包装:
//this does run when running from within WebStorm
require(['backbone', 'models/ParametersModel'],function (backbone, params) {
TestCase("test aTestCaseInside", {
setUp: function () {
assertNotUndefined('backbone is undefined', backbone);
assertNotUndefined('params is undefined', params);
this.p = new params();
},
//todo: without the backbone dependency everything runs as expected!
testClass: function () {
console.log("running a test INSIDE the requireJS context");
assertEquals("", this.p.getValue(), 'a value from param')
}
});
});
当我通过 JetBrain 的 Webstorm IDE 的 JSTD 插件运行此测试时,它运行良好。
但我也希望能够从命令行运行 JSTestDriver。但这是行不通的。如果我执行这个命令:
java -jar test\vendor\JsTestDriver\1.3.5\jar\JsTestDriver.jar --config jsTestDriver.jstd --browser "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --port 14999 --tests all --captureConsole --runnerMode PROFILE
我得到这个输出:
feb 13, 2014 10:56:41 AM com.google.jstestdriver.server.handlers.pages.SlavePageRequest createCaptureUrl
SEVERE: Invalid/No runner type specified: null falling back to BROWSER
Total 0 tests (Passed: 0; Fails: 0; Errors: 0) (0,00 ms)
feb 13, 2014 10:56:41 AM com.google.jstestdriver.ActionRunner runActions
INFO:
在浏览器的控制台中我得到:
Failed to load resource http://127.0.0.1:14999/query/1392285643189
Failed to load resource http://127.0.0.1:14999/test/vendor/backbone/1.0.0/js/backbone.js
命令行上的命令是正确的,因为当我在 require 函数之外创建 TestCase 时,它确实显示测试已运行并通过!
如何使用 Requiere JS 配置 JSTD 以便能够从命令行运行测试?
谢谢。
最佳答案
使用AMD plugin对于 RequireJS。以下是一些示例:
关于javascript - 如果 J STD TestCase 方法被 RequireJS 包装,如何从命令行运行 JS 测试驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21750982/