Подтвердить что ты не робот

Как я могу получить список проходящих тестов из набора бегунов кармы?

Когда я запускаю карму на моем webapp, я получаю только общие сообщения, такие как пройденные тесты - есть ли способ получить список проходящих тестов? Как получить более подробный вывод?

Я не могу найти это нигде в документации.

4b9b3361

Ответ 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

  1. Добавить 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"],
  ...

Вот и все. Наслаждайтесь.