Я начинаю писать модульные тесты для моего углового кода, используя Karma + Jasmine.
Эти тесты работают нормально с помощью команды ng-test.
Я хочу, чтобы эти тесты выполнялись как часть закрытой проверки в сборке в TFS вместе с кодом сервера, который является c #. Сборка TFS является старой сборкой XAML, и моя команда не использует более новый веб-шаблон TFS.
Я наткнулся на "karma-trx-reporter" (https://www.npmjs.com/package/karma-trx-reporter), который должен дать мне выходной файл trx для моего тестового прогона.
Когда я попробовал инструкции по установке и настройке точно. При первом запуске я получил вывод ниже (начало кармы --reporters trx):
0 10 2018 15: 03: 26.378: ОШИБКА [репортер]: Невозможно загрузить репортер «trx», он не зарегистрирован!
Возможно, вам не хватает какого-нибудь плагина?
30 10 2018 15: 03: 26.418: ПРЕДУПРЕЖДЕНИЕ [карма]: нет захваченного браузера, открыть http://localhost:9876/
30 10 2018 15: 03: 26.422: ИНФОРМАЦИЯ [karma]: Сервер Karma v3.0.0 запущен с http://0.0.0.0:9876/
30 10 2018 15: 03: 26.422: ОШИБКА [карма]: Ошибка: Найдено 1 ошибка загрузки
на сервере Server.webServer.listen
Что мне не хватает?
добавление этой конфигурации кармы:
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma'),
require('karma-trx-reporter')
],
client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, '../coverage'),
reports: ['html', 'lcovonly'],
fixWebpackSourcePaths: true
},
reporters: ['progress', 'kjhtml','trx'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
trxReporter: {
outputFile: 'test-results.trx',
shortTestName: false
},
});
};