1

我试图编写一些 javascript 单元测试,使用 requirejs 和 jsTestDriver intellij 插件。当我在 IDE 中运行它们时,即使有一些错误,我也没有错误。我只有在打开浏览器控制台时才能看到它们。是否有人设法使 IDE 插件将失败显示为 require 函数?下面是我的代码和一些说明我的问题的屏幕截图。

TestCase("Collections", {
    "test User Collection": function () {
        require(['lib/underscore', 'lib/backbone', 'app/user', 'app/collections'],
            function (_, Backbone, user, appCollections) {
                assertNotUndefined('Users must be defined', appCollections.users);
                assertTypeOf('Users must be backbone collection', typeof Backbone.Collection, appCollections.users);
                assertTypeOf("Users' model must be a user", typeof Backbone.Model, appCollections.users.model);
            });
    }
});

Intellij jsTestDriver 插件测试结果

我的浏览器控制台

4

1 回答 1

1

我没有对此进行测试,但它可能会让你开始:

var CollectionsTest = AsyncTestCase('Collections');

CollectionsTest.prototype.testIt = function(queue) {

  queue.call('Step 1', function(callbacks) {

    function test1(_, Backbone, user, appCollections) {
        assertNotUndefined('Users must be defined', appCollections.users);
        assertTypeOf('Users must be backbone collection', typeof Backbone.Collection, appCollections.users);
        assertTypeOf("Users' model must be a user", typeof Backbone.Model, appCollections.users.model);
    }

    var onModulesLoaded = callbacks.add(test1);

    require(['lib/underscore', 'lib/backbone', 'app/user', 'app/collections'], onModulesLoaded);

  });

};
于 2013-06-20T12:30:32.737 回答