问题描述
我遇到了一个问题,需要帮助。我正处于编写单元测试用例的早期阶段。我需要特定于代码覆盖率模块。目前我正在获取特定于文件夹的内容。不考虑内部(递归)文件夹。是否有任何选项可以获得特定于模块的代码覆盖率?我也探索了一些 karma 库,但没有运气。
Karma.conf.ts
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-html-reporter')
],client:{
clearContext: false // leave Jasmine Spec Runner output visible in browser
},coverageIstanbulReporter: {
dir: require('path').join(__dirname,'coverage'),// reports: [ 'html','lcovonly','text-summary','clover','cobertura','json-summary','json','lcov','teamcity','text-lcov','text'],reports: [ 'html','lcovonly'],fixWebpackSourcePaths: true
},reporters: ['progress','kjhtml','html'],htmlReporter: {
outputDir: 'unit_test_results',templatePath: null,focusOnFailures: true,namedFiles: true,pageTitle: null,urlFriendlyName: false,reportName: 'test_case_summary_' + new Date().toLocaleDateString()
},files: [
{ pattern: './src/test.ts',watched: true },{pattern: './src/assets/**/*.png'},{pattern: './src/assets/**/**/*.png'},{pattern: './src/assets/**/*.css'},{pattern: './src/assets/**/**/*.css'},{ pattern: './node_modules/@angular/material/prebuilt-themes/indigo-pink.css' },{ pattern: './node_modules/bootstrap/dist/css/bootstrap.min.css' },{ pattern: './node_modules/font-awesome/css/font-awesome.min.css' },{ pattern: './src/styles.css' },],captureTimeout :60000,browserNoActivityTimeout :60000,port: 9876,colors: true,logLevel: config.LOG_INFO,autoWatch: true,browsers: ['Chrome'],singleRun: false
});
};
test.ts
import 'zone.js/dist/long-stack-trace-zone';
import 'zone.js/dist/proxy.js';
import 'zone.js/dist/sync-test';
import 'zone.js/dist/jasmine-patch';
import 'zone.js/dist/async-test';
import 'zone.js/dist/fake-async-test';
import { getTestbed } from '@angular/core/testing';
import {
browserDynamicTestingModule,platformbrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing';
// Unfortunately there's no typing for the `__karma__` variable. Just declare it as any.
declare const __karma__: any;
declare const require: any;
// Prevent Karma from running prematurely.
__karma__.loaded = function () { };
getTestbed().initTestEnvironment(
browserDynamicTestingModule,platformbrowserDynamicTesting()
);
var specFiles = {
aa-test: require.context('./app/aa-test',true,/\.spec\.ts$/),}
for (var file in specFiles) {
console.log('test cases ' + file,specFiles[file].keys());
specFiles[file].keys().map(specFiles[file]);
}
__karma__.start();
文件夹结构:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)