Я унаследовал приложение Angular, над которым впервые работали пару лет назад. Одна из задач, которую мне дали, - запустить тестирование, поскольку тесты не проводились в течение последнего года или дольше. Первоначально это было приложение Angular 2, и оно было обновлено до версии 2.3.1. В настоящее время мы не можем делать дальнейшие обновления, потому что это потребовало бы значительного рефакторинга, который мы должны решить позже.
Вот проблема, когда я запускаю ng test
, она генерирует некоторые начальные тесты. Однако, когда открывается окно браузера, в то время как я вижу детали кармы, показывая Karma v1.20 - connected
(см. Рис.), Я не вижу ни одного из списка фактических файлов, которые терпят неудачу или проходят через Jasmine.
Это похоже на то, что часть Жасмин была отключена. Или скрыто от показа здесь? Точно сказать не могу. Вот что я ожидал увидеть (скриншот из результатов тестирования другого приложения):
К вашему сведению, в командной строке я вижу, что тесты запущены (все проходят):
04 04 2019 13:14:48.834:INFO [karma]: Karma v1.2.0 server started at http://localhost:9876/
04 04 2019 13:14:48.836:INFO [launcher]: Launching browser Chrome with unlimited concurrency
04 04 2019 13:14:48.851:INFO [launcher]: Starting browser Chrome
04 04 2019 13:15:15.529:WARN [karma]: No captured browser, open http://localhost:9876/
Chrome 73.0.3683 (Mac OS X 10.14.4): Executed 5 of 5 SUCCESS (0.199 secs / 0.188 secs)
Я искал различные файлы, но до сих пор не смог найти часть кода Jasmine, которая была отключена или закомментирована. Итак, как я могу найти, как повторно включить распечатку Jasmine как часть моего теста? Могу ли я удалить и переустановить только тестовый пакет? Что рекомендуется в такой ситуации?
Мне также интересно, может ли это быть проблемой с моим karma.conf.js
файлом. Вот как выглядит моя шахта:
// Karma configuration file, see link for more information
// https://karma-runner.github.io/0.13/config/configuration-file.html
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular/cli'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-remap-istanbul'),
require('@angular/cli/plugins/karma')
],
files: [
{ pattern: './src/test.ts', watched: false }
],
preprocessors: {
'./src/test.ts': ['@angular/cli']
},
mime: {
'text/x-typescript': ['ts','tsx']
},
remapIstanbulReporter: {
reports: {
html: 'coverage',
lcovonly: './coverage/coverage.lcov'
}
},
angularCli: {
config: './angular-cli.json',
environment: 'dev'
},
reporters: config.angularCli && config.angularCli.codeCoverage
? ['progress', 'karma-remap-istanbul']
: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};