Подробный отчет об испытаниях кармы

Я только начал с модульного тестирования моего углового приложения с кармой. Все работает как положено

Chrome 26.0 (Windows): выполнено 1 из 1
Chrome 26.0 (Windows): выполнено 1 из 1 УСПЕХ (0,878 с / 0,112 с)

Однако есть ли способ вывести больше информации о результате теста. Например, имена Suite и тестов, которые он выполняет, и их результаты. Я прочитал несколько уроков, в которых результаты теста Jasmine выводятся в браузере. Мне интересно, что это может быть достигнуто и в карме.

4 ответа

Я искал что-то подобное и нашел это: https://github.com/usrz/javascript-karma-verbose-reporter. Создает этот вид вывода:

$ karma start --reporters=verbose

Suites and tests results:

 - the app.router.config module :
   * contains a router property : ok
   * configures the router title : ok
   * should have a login route : ok
 - the organization module :
   * contains a state property : ok
   * should have a streams route after configuration : ok
   * when activated, should set state based on organization in route : ok
 - the streams module :
   * points to state : ok
   * loads organization streams upon activation : ok
   * loads organization streams via API : ok

Browser results:

 - PhantomJS 1.9.8 (Mac OS X 0.0.0): 9 tests
   - 9 ok

Чтобы сделать это параметром по умолчанию, вы можете добавить это в конфигурацию вашей кармы, например:

reporters: ['verbose', 'junit']

Исходя из ответа @Carles Barrobés. Первоначальный вопрос говорил об угловых приложениях. Поэтому я подумал, что перечислю шаги, чтобы заставить это работать с ng test

Установите подробный репортер:

npm install --save-dev karma-verbose-reporter

Обновите файл karma.conf.js, добавив в него следующее:

module.exports = function (config) {
  config.set({
    plugins: [
      require('karma-verbose-reporter')
    ],
    reporters: ['verbose']
  });
};

Обратите внимание, я включил только параметры, относящиеся к отчетам, конечно, оставьте ваши другие параметры в файле конфигурации как есть.

Теперь вы можете запустить ng test получить подробный вывод

Я только что закончил HTML репортер для Karma, чтобы вы могли добавить его к репортерам. Как и в консоли, вы получите некоторую дополнительную информацию, но в своей конфигурации вы можете указать "singleRun = true". Плагин находится здесь:

https://npmjs.org/package/karma-htmlfile-reporter

После установки плагина через "npm install karma-htmlfile-reporter -g" вам просто нужно добавить несколько строк в ваш karma.conf.js:

reporters: ['progress', 'html'],

htmlReporter: {
  outputFile: 'tests/units.html'
},

plugins: [
  // ... your other plugins here
  'karma-htmlfile-reporter'
]

Теперь, после запуска ваших тестов кармы, плагин создаст стилизованный HTML-файл, который вы можете просмотреть в своем браузере.

Как сказал Илья, я не знаю, какую информацию вы хотели бы получить от успешных тестов. Однако вы можете открыть страницу отладки, если вы запускаете тесты в браузере: http://localhost:9876/debug.html, Все юнит-тесты там записываются в консоль.

Я думаю, что этот документ может помочь вам настроить его вывод в консоли.

Как описано:

reporters: ['progress', 'junit']
  • "Прогресс" предназначен для вывода на консоль
  • Junit - это плагин кармы для вывода во внешние файлы.:)

Я получил то, что вы хотите. Вы хотите подробный отчет в самой консоли.

С "прогрессом" он печатает только "много успеха из этого, но не подробный отчет".

пример: выполнено 1 из 1 УСПЕХ (0,878 с / 0,112 с)

reporters: ['progress']

Для распечатки подробного отчета в самой консоли используйте отчет "mocha", который печатает выполнение деталей в консоли так же, как "kjhtml" в broswer.

reporters: ['mocha']

Мокко печатает в самой консоли, используется с браузером Phantomjs и Chrome Headless Browser

Вы должны иметь плагин для того же. перейти по ссылке для того же

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