Karma jasmine Karma没有指定js文件的路径
我使用Angular CLI创建了一个项目。它创建了如下karma.config.js。我注意到该文件不包含规范文件的配置/路径,但我仍然可以使用Karma jasmine Karma没有指定js文件的路径,karma-jasmine,Karma Jasmine,我使用Angular CLI创建了一个项目。它创建了如下karma.config.js。我注意到该文件不包含规范文件的配置/路径,但我仍然可以使用npm test运行karma。为什么 module.exports = function (config) { config.set({ basePath: '', frameworks: ['jasmine', '@angular/cli'], plugins: [ require('karma-jasmin
npm test
运行karma。为什么
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-coverage-istanbul-reporter'),
require('@angular/cli/plugins/karma')
],
client:{
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
reports: [ 'html', 'lcovonly' ],
fixWebpackSourcePaths: true
},
angularCli: {
environment: 'dev'
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
规范文件位于位置/src/app/app.component.ts
。我希望karma.conf.js包含以下行
files: [
'src/**/*.js'
]
在Angular CLI项目上使用Karma时,默认情况下,它会使用
src/test.ts
文件。您可以在.angular-cli.json中找到:
...
"test": "test.ts",
...
(看起来karma文件顶部的Angular CLI插件就是搜索test.ts的插件。)
如果查看test.ts,您将看到它初始化了测试环境,然后执行以下操作:
const context = require.context('./', true, /\.spec\.ts$/);
context.keys().map(context);
这包括src
目录中的所有规范文件。通过要求这些规范文件,它们将包含在测试运行中。您还可以删除该块并执行以下操作:
require('./app/search/search.component.spec.ts')代码>
例如,这将只运行该规范文件中的测试