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