Подробный отчет об испытаниях кармы
Я только начал с модульного тестирования моего углового приложения с кармой. Все работает как положено
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
Вы должны иметь плагин для того же. перейти по ссылке для того же