在intellij中使用requirejs时,JsTestDriver断言

时间:2013-06-19 11:54:47

标签: javascript intellij-idea requirejs js-test-driver

我正在尝试使用requirejs和jsTestDriver intellij插件编写一些javascript单元测试。当我在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 plugin test result

My browser console

1 个答案:

答案 0 :(得分: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);

  });

};