Я пытался написать некоторые модульные тесты javascript, используя requirejs и jsTestDriver intellij plugin. Когда я запускаю их в среде IDE, у меня нет ошибки, даже если есть некоторые. Я вижу их только при открытии консоли браузера. Удалось ли кому-нибудь сделать плагин IDE для отображения сбоев в требуемой функции? Мой код ниже и некоторые снимки экрана, иллюстрирующие мою проблему.JsTestDriver утверждает при использовании requirejs в intellij
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, вероятно, не знает, что тест не был запущен до того, как будет возвращен метод тестирования. –
Спасибо за ваш ответ. Это фактически async, потому что, когда вы добавляете инструкцию сразу после функции require, она выполняется перед любой инструкцией внутри функции require. Есть ли какое-то значение, чтобы дождаться окончания всего исполнения? Ссылка в вашем комментарии не касается этой проблемы с асинхронным доступом. –
Возможно, эта страница поможет - http://code.google.com/p/js-test-driver/wiki/AsyncTestCase. –