【发布时间】:2019-07-09 12:26:50
【问题描述】:
我正在使用 jasmine 和 karma 进行单元测试。伊斯坦布尔记者。
我想指定要考虑哪个文件夹进行代码覆盖。 我想排除其他所有内容。
现在我完全不知道配置是如何工作的。 核心文件夹是我要考虑的代码覆盖率的唯一文件夹。 (不得不粘贴截图,因为防火墙不允许我上传图片)
karma.config:
module.exports = function (config) {
config.set({
basePath: '',
files:['mockData.js', 'mockLocalization.js'],
frameworks: ['jasmine', '@angular/cli'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
//require('karma-phantomjs-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular/cli/plugins/karma'),
require('karma-scss-preprocessor'),
require('karma-sonarqube-reporter'),
require('karma-junit-reporter'),
],
client:{
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
angularCli: {
environment: 'dev'
},
coverageIstanbulReporter: {
reports: [ 'html', 'lcov', 'cobertura' ],
fixWebpackSourcePaths: true,
},
junitReporter:{
useBrowserName: false,
outputDir: 'report',
// will be resolved to basePath (in the same way as files/exclude patterns)
outputFile: 'karma-report.xml'
},
coverageReporter: {
includeAllSources: false,
dir: 'coverage',
reporters: [
{ type: 'html', subdir: 'html' }
]
},
reporters: ['progress', 'kjhtml','coverage-istanbul'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'], //make sure it is chromeHeadless while running the pipeline otherwise it will fail.
singleRun: true,
browserDisconnectTimeout: 20000,
browserDisconnectTolerance: 3,
browserNoActivityTimeout: 120000,
flags: [
'--disable-web-security',
'--disable-gpu',
'--no-sandbox'
]
});
};
记者:
编辑:
const context = require.context('./core', true, /\.spec\.ts$/);
context.keys().map(context);
但是
const context = require.context('./core', true, /\.spec\.ts$/);
context.keys().map(context);
const context2 = require.context('./modules', true, /\.spec\.ts$/);
context2.keys().map(context2);
给予:
【问题讨论】:
标签: javascript angular jasmine karma-jasmine istanbul