1
我试图用requirejs和jsTestDriver intellij插件编写一些javascript单元测试。当我在IDE中运行它们时,即使有一些,我也没有错误。我只在打开浏览器控制台时看到它们。 有人设法使IDE插件将失败转化为require函数吗? 我的代码如下和一些屏幕截图说明我的问题。JsTestDriver在intellij中使用requirejs时断言
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);
});
}
});
JS测试驱动器和这里介绍requirejs - HTTP:/ /stackoverflow.com/questions/12482072/is-it-possible-to-run-js-test-driver-tests-that-uses-requirejs-modules。你必须明白你写的测试可能是异步的,因此js-test-driver可能不知道在测试方法返回之前测试没有运行。 –
感谢您的回答。它实际上是异步的,因为当您在require函数后面添加一条指令时,它会在require函数内的任何指令之前执行。是否有任何意思让它等待整个执行的结束?您评论中的链接不处理这个异步问题。 –
也许这个页面将有所帮助 - http://code.google.com/p/js-test-driver/wiki/AsyncTestCase。 –