Как определить, когда все тесты в модуле QUnit завершены? - PullRequest
1 голос
/ 12 января 2012

Для целей последовательности тестов, а также для предотвращения прерывания теста.

Также есть ли способ остановить модуль или тест на полпути и сбросить QUnit (включая все результаты истории)?

QUnit.moduleDone была единственной вещью, которую я пытался выполнить для тестирования модуля.Но это относится к каждому тесту внутри модуля, а не только к модулю в целом.

Ответы [ 2 ]

1 голос
/ 15 февраля 2013

Зависит от того, работает ли QUnit при объявлении тестов. Если вы остановите его, объявите все тесты, а затем запустите его, обратный вызов moduleDone будет запущен один раз в конце модуля. Если он работает во время объявления тестов, то тесты будут выполняться, как только они будут объявлены, в результате чего модуль будет содержать только те тесты, которые были объявлены до сих пор, и считает, что модули выполнены после завершения каждого теста.

Та же проблема возникает с обратным вызовом done, если QUnit запущен во время объявления тестов, он запускается постоянно.

Так что, если вы используете любой из этих обратных вызовов, вам действительно нужно либо загрузить все тесты синхронно в голове, чтобы они существовали, когда QUnit автоматически запускается в событии загрузки, или установить QUnit.config.autostart = false и не вызывать QUnit.start, пока все асинхронно загруженные скрипты завершили объявление своих тестов.

0 голосов
/ 01 февраля 2012

Уверены ли вы в QUnit.moduleDone? Для меня это вызывается один раз в конце модуля; то, что вы описываете, звучит как QUnit.testDone.

Что касается остановки QUnit и ее сброса, как бы вы хотели, чтобы веб-страница выглядела впоследствии?

...