Вход в терминал, когда завершится тестовый набор QUnit?
Когда мой набор тестов завершится, мне нужно вывести некоторую статистику, то есть метаинформацию о тестах, собранных во время выполнения теста.
Я пытаюсь это:
QUnit.done(() => console.log("some meta info here"))
Это работает, когда я запускаю тесты в браузере.
Но когда я запускаю тесты в терминале, console.log
вывод не отображается.
Там, вероятно, есть некоторый флаг отладки, но он включит все console.log
сообщения и сильно загрязняют вывод.
Вместо этого мне нужно вывести одно конкретное сообщение на терминал, чтобы оно вошло в CI.
PS console.log
сообщения, отправленные во время выполнения теста, похоже, успешно попадают в терминал.
PPS Использование QUnit в приложении Ember CLI против Chrome без головы.
1 ответ
Это было сложно, так как у меня никогда не было необходимости взаимодействовать с QUnit, как это, но вот мои выводы на каждом этапе:
Попытка 1:
Это странная ошибка, я думал, что передаю функцию обратного вызова:-\
Попытка 2:
После поиска документации для Qunit.log
Я мог видеть, что я использовал это неправильно. Переключение на console.log показывает начальное сообщение, но не конечное сообщение.
Попытка 3:
moduleDone напечатает что-то в конце - но он также печатает каждый раз, когда вы используете слово module
(после того, как все внутри заканчивает работать). Итак, я полагаю, что если взломать QUnit.done никогда не получится, вы можете отслеживать количество запущенных модулей и выполненных модулей, убедиться, что все запущенные модули завершены, и если это число равно 0 в конце, ваш тест Люкс готов?
Попытка 4
Оказывается, это только на самом деле полезно, если вы хотите знать, что самый внешний модуль выполнен, потому что кажется, что несколько тестов не работают параллельно (что, вероятно, лучше в любом случае для стабильности теста).
Попытка 5
https://github.com/qunitjs/qunit/issues/1308
Похоже, проблема с адаптером testem:(