Глядя на документы для asyncTest и stop , есть две причины, по которым я вижу, что он настроен так.
- Так что вы случайно не запускаете два теста одновременно, которые могут конфликтовать с чем-то (т.е. изменять DOM и изменять результаты тестов друг друга).
- Чтобы QUnit знал, когда тесты закончились. Если он завершит все синхронные тесты, он запишет результаты, чего вы не хотите, если в фоновом режиме все еще выполняются асинхронные тесты.
Так что это хорошая вещь, и вы, вероятно, не хотите, чтобы асинхронные тесты не блокировались во время работы. Возможно, вы могли бы сделать это, вызвав start
сразу после начала ваших асинхронных тестов, но помните, что JavaScript на самом деле является однопоточным (даже если иногда он выглядит как многопоточность), так что это может привести к неожиданным результатам, так как вы не могу гарантировать, что ваш асинхронный тест продолжит выполняться ... это может произойти (вероятно, не будет) до тех пор, пока другие тесты не будут завершены и результаты не будут опубликованы.