Я разрабатываю приложение с использованием Ionic.Мне нужно сделать юнит-тесты.Я использую карму и жасмин.Моя проблема в том, что это мое первое приложение с использованием ионных.Я уже разработал какое-то приложение с использованием Angular, и у меня никогда не возникало проблем с модульными тестами.
Когда я запускаю эту команду (находится на этом сайте ):
karma start ./test-config/karma.conf.js --coverage
Myпокрытие пустое (я имею в виду, 0% на каждый файл), пока выполняются модульные тесты (был создан репортер html и т. д.)
Вот мой karma.conf.js
var webpackConfig = require('./webpack.test.js');
const path = require('path');
module.exports = function (config) {
var _config = {
basePath: '../',
frameworks: ['jasmine'],
plugins: [
require('karma-chrome-launcher'),
require('karma-webpack'),
require('karma-sourcemap-loader'),
require('karma-jasmine-html-reporter'),
require('karma-jasmine'),
require('karma-coverage-istanbul-reporter'),
require('karma-coverage'),
require('karma-spec-reporter')
],
files: [
{
pattern: './test-config/karma-test-shim.js',
watched: true
},
{
pattern: './src/assets/**/*',
watched: false,
included: false,
served: true,
nocache: false
}
],
proxies: {
'/assets/': '/base/src/assets/'
},
preprocessors: {
'./test-config/karma-test-shim.js': ['webpack', 'sourcemap'],
'./test-config/*.js': ['coverage']
},
webpack: webpackConfig,
webpackMiddleware: {
stats: 'errors-only'
},
webpackServer: {
noInfo: true
},
browserConsoleLogOptions: {
level: 'log',
format: '%b %T: %m',
terminal: true
},
coverageIstanbulReporter: {
reports: ['html', 'lcovonly', 'text-summary'],
type: 'text',
dir: path.join(__dirname, 'coverage'),
file: 'coverage.txt',
'report-config': {
html: {
subdir: 'html',
date: Date()
},
lcovonly: {
file: 'coverage.lcov'
},
combineBrowserReports: true,
skipFilesWithNoCoverage: false,
fixWebpackSourcePaths: true
}
},
reporters: ['coverage-istanbul', 'spec'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browserDisconnectTimeout: 10000,
browserDisconnectTolerance: 3,
browserNoActivityTimeout: 60000,
flags: [
'--disable-web-security',
'--disable-gpu',
'--no-sandbox'
],
browsers: ['Chrome_no_sandbox'],
customLaunchers: {
Chrome_no_sandbox: {
base: 'Chrome',
flags: ['--no-sandbox', '--headless', '--disable-gpu', '--remote-debugging-port=9222', '--signe-un']
}
},
singleRun: true
};
config.set(_config);
};