Testing 无法使用角形cli运行业力
我遇到了一个奇怪的问题,它发生在我的一个项目上,即使使用完全相同的设置,也无法在其他项目中重现 每次我尝试运行Testing 无法使用角形cli运行业力,testing,karma-runner,karma-jasmine,angular-cli,Testing,Karma Runner,Karma Jasmine,Angular Cli,我遇到了一个奇怪的问题,它发生在我的一个项目上,即使使用完全相同的设置,也无法在其他项目中重现 每次我尝试运行ng测试或别名npm测试时,都会出现两个模块缺失的错误(karma jasmine html reporter&karma reporter)。但是模块肯定在那里!例如: 网-app@0.0.3-alpha测试/用户/vassilis/Projects/WebApp ng试验 07 03 2017 12:08:27.157:错误[配置]:配置文件中有错误! {错误:找不到模块'karma
ng测试
或别名npm测试
时,都会出现两个模块缺失的错误(karma jasmine html reporter
&karma reporter
)。但是模块肯定在那里!例如:
网-app@0.0.3-alpha测试/用户/vassilis/Projects/WebApp
ng试验
07 03 2017 12:08:27.157:错误[配置]:配置文件中有错误!
{错误:找不到模块'karma jasmine html reporter'
在Function.Module.\u解析文件名(Module.js:469:15)
在Function.Module.\u加载(Module.js:417:25)
at Module.require(Module.js:497:17)
根据需要(内部/module.js:20:19)
在module.exports(/Users/vassilis/Projects/WebApp/karma.conf.js:11:7)
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
},
files: [
{ pattern: './src/test.ts', watched: false }
],
preprocessors: {
'./src/test.ts': ['@angular/cli']
},
mime: {
'text/x-typescript': ['ts','tsx']
},
coverageIstanbulReporter: {
reports: [ 'html', 'lcovonly' ],
fixWebpackSourcePaths: true
},
angularCli: {
config: './angular-cli.json',
environment: 'dev'
},
reporters: config.angularCli && config.angularCli.codeCoverage
? ['progress', 'coverage-istanbul']
: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
在Object.parseConfig(/Users/vassilis/Projects/WebApp/node_modules/karma/lib/config.js:342:5)
在新服务器上(/Users/vassilis/Projects/WebApp/node_modules/karma/lib/Server.js:56:20)
at/Users/vassilis/Projects/WebApp/node_modules/@angular/cli/tasks/test.js:26:31
在Class.run(/Users/vassilis/Projects/WebApp/node_modules/@angular/cli/tasks/test.js:10:16)
在Class.run(/Users/vassilis/Projects/WebApp/node_modules/@angular/cli/commands/test.js:29:25)
上课时。(/Users/vassilis/Projects/WebApp/node_modules/@angular/cli/ember-cli/lib/models/command.js:134:17)
在进程中。_tickCallback(internal/process/next_tick.js:103:7)代码:'MODULE_NOT_FOUND'}
npm错误!测试失败。请参见上文了解更多详细信息
这是我的设置:
karma.conf.js
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
},
files: [
{ pattern: './src/test.ts', watched: false }
],
preprocessors: {
'./src/test.ts': ['@angular/cli']
},
mime: {
'text/x-typescript': ['ts','tsx']
},
coverageIstanbulReporter: {
reports: [ 'html', 'lcovonly' ],
fixWebpackSourcePaths: true
},
angularCli: {
config: './angular-cli.json',
environment: 'dev'
},
reporters: config.angularCli && config.angularCli.codeCoverage
? ['progress', 'coverage-istanbul']
: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
以及angular cli.json
中的相关部分:
"test": {
"karma": {
"config": "./karma.conf.js"
}
}
我真的很困惑。这似乎是一个与项目相关的问题,但我不能确定业力是否根本不存在。对此有何想法?依赖项似乎未安装,您确定已安装这些依赖项吗
npm安装——保存dev karma jasmine html reporter karma reporter伊斯坦布尔报道
这个答案可能太晚了。像这样删除angularCli中的配置项
angularCli: {
environment: 'dev'
}
//... more code
有关更多信息,请参阅此谢谢,但正如我所说,依赖项已安装并验证。(我尝试了几次npm安装,试图找出发生了什么,并检查安装过程中是否有问题)。您是否尝试过npm安装--强制安装?您是在本地运行还是在Jenkins中运行?