Вход в терминал, когда завершится тестовый набор 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:(

Другие вопросы по тегам