如何从命令行运行JSTestDriver,如果JSTD TestCase方法被RequireJS包装



我最近将 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 testvendorJsTestDriver1.3.5jarJsTestDriver.jar --config jsTestDriver.jstd --browser "C:Program Files (x86)GoogleChromeApplicationchrome.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 插件进行 RequireJS。以下是一些示例:

  • 使用 JSTestDriver 和 RequireJS 进行主干测试
  • 如何设置 RequireJS + Jasmine + JSTestDriver
  • JSTestDriver + QUnit + RequireJS
  • 茉莉花 + RequireJS + JSTD 脚手架

最新更新