Как я могу получить список проходящих тестов из набора бегунов кармы?
Когда я запускаю карму на моем webapp, я получаю только общие сообщения, такие как пройденные тесты - есть ли способ получить список проходящих тестов? Как получить более подробный вывод?
Я не могу найти это нигде в документации.
Ответы
Ответ 1
Я знаю, как это можно сделать!
Выход терминала Karma происходит от объектов, называемых Reporters. Карма поставляется с некоторыми встроенными репортерами (их можно найти в karma/lib/reporters
). Карма также может использовать пользовательских репортеров.
Вы можете указать, какие репортеры используются в вашем проекте karma.config.js
.
Например, репортер "точек" просто печатает точку, когда проходит каждый тест:
reporters: ['dots'],
Репортер "progress" печатает больше точек:
reporters: ['progress'],
Пользовательский репортер karma-spec-reporter печатает имя каждого теста, когда тест завершается успешно или неудачно (но не намного):
reporters: ['spec'],
Вы можете бросить своего собственного репортера, поскольку карма-юнит-репортер, карма-спек-репортер и включенные журналисты могут не соответствовать вашим потребностям.
Я предполагаю, что настройка карма-spec-репортера - лучший вариант в этом случае, поскольку он уже печатает строку, когда тест преуспевает.
Если вы ищете что-то более простое в работе, здесь - это специальный репортер, который я создал. Он сообщает о прохождении и неудачных тестах без цветов терминала.
Ответ 2
Я рекомендую Karma Spec Reporter. Это даст вам довольно unit test отчет, подобный этому.
![Karma unit test spec]()
Как использовать его:
- Установите репортер службы кармы
В командной строке вашего проекта
npm install karma-spec-reporter --save-dev
- Добавить Karma Spec Reporter в конфигурацию
В karma.conf.js
,
...
config.set({
...
reporters: ["spec"],
specReporter: {
maxLogLines: 5, // limit number of lines logged per test
suppressErrorSummary: true, // do not print error summary
suppressFailed: false, // do not print information about failed tests
suppressPassed: false, // do not print information about passed tests
suppressSkipped: true, // do not print information about skipped tests
showSpecTiming: false // print the time elapsed for each spec
},
plugins: ["karma-spec-reporter"],
...
Вот и все. Наслаждайтесь.
Ответ 3
Используйте этот плагин с кармой 0.9.0 или новее
https://github.com/mlex/karma-spec-reporter
Ответ 4
Вы можете добавить журналы в свою тестовую спецификацию. Проверьте log4js- node:
https://github.com/nomiddlename/log4js-node