angular - 如何使用 Karma 配置在 Angular 4 中排除用于单元测试的文件夹(组件)?

标签 angular karma-jasmine

我使用的是 angular cli 版本 1.4.5,下面是 karma.conf.ts 文件

module.exports = function (config) {
  config.set({
  basePath: '',
  exclude: [
     "src/app/components/panel/panel.component.spec.ts",
     "src/app/components/accordion/accordion.component.spec.ts"
   ],
   frameworks: ['jasmine', '@angular/cli'],
   plugins: [
     require('karma-jasmine'),
     require('karma-chrome-launcher'),
     require('karma-jasmine-html-reporter'),
     require('karma-coverage-istanbul-reporter'),
     require('@angular/cli/plugins/karma')
   ],
   client:{
     clearContext: false 
   },
   coverageIstanbulReporter: {
     reports: [ 'html', 'lcovonly' ],
     fixWebpackSourcePaths: true
   },
   angularCli: {
     environment: 'dev'
   },
   reporters: ['progress', 'kjhtml'],
   port: 9876,
   colors: true,
   logLevel: config.DEBUG,
   autoWatch: true,
   browsers: ['Chrome'],
   singleRun: false
 });
};

我什至在 tsconfig.spec.json 文件中添加了 exclude 以排除选择那些文件进行测试。

{
 .....,
 "include": [
 "**/*.spec.ts",
 "**/*.d.ts"
 ],
 "exclude": [
     "app/components/panel/panel.component.spec.ts",
     "app/components/accordion/accordion.component.spec.ts"
 ]
}

是否缺少要添加排除的内容?

最佳答案

更改 src/test.ts 中的配置。

const context = require.context('./', true, /\.spec\.ts$/);

https://github.com/angular/angular-cli/issues/9026#issuecomment-354475734

关于angular - 如何使用 Karma 配置在 Angular 4 中排除用于单元测试的文件夹(组件)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48637506/

相关文章:

angular - 如何使用grails 3和angular创建Web应用程序?

javascript - 测试不在服务内的异步函数

javascript - 以 Angular 6 绑定(bind)来自服务的图像

angular - 如何使用 Moment.js 获取一周的第一天和最后一天?

javascript - 带有嵌套 Angular Promise 的 Jasmine 2.0 测试

unit-testing - 如何设置 karma/jasmine 与 ionic2 一起工作?

angularjs - 如何测试模块中的常量?

javascript - 参数 'controllerLogin' 不是函数,未定义 - AngularJs, karma 测试

javascript - 以不同方式检查假值/真值有什么区别?

angular - 如何将服务注入(inject) Angular 的scrollOffset函数