Я экспериментирую с Jest, чтобы выполнить тестирование углового приложения. Чтобы проверить угловые привязки, я пытаюсь использовать jsdom (N.B. Я использую v3.1.2, поскольку я использую node not IO). Когда мне нужно загрузить скрипт с помощью html, тест, похоже, будет завершен до загрузки скрипта.Использование jsdom и Jest
я упростил мой тестовый случай, чтобы использовать пример из jsdom:
it('updates the view without error', function(){
var jsdom = require('../../../../node_modules/jsdom/lib/jsdom');
jsdom.env(
'<p><a class="the-link" href="https://github.com/tmpvar/jsdom">jsdom!</a></p>',
["http://code.jquery.com/jquery.js"],
function (errors, window) {
//console.log("contents of a.the-link:", window.$("a.the-link").text());
console.log("Completed");
expect(errors).toBeNull();
}
);
console.log('exiting...');
});
Если я запускаю этот тест, тест будет проходить, но «Завершено» сообщение журнала не будет печататься, я могу также замените ожидание на что-то, что явно должно потерпеть неудачу, например expect (false) .toBeTruthy(), и тест все равно «пройдет». Если я удалю инъекцию jquery, тогда все будет работать так, как ожидалось.
Как я должен убедиться, что сценарий загружен до выхода из теста? И, в общем, использование jsdom явно с Jest чувствует себя немного неправильно. Есть ли способ лучше?
Спасибо. Приятно иметь вежливую версию RTFM :) –