我正在使用 Grunt、Angular 和 Karma,但遇到以下问题 - 我读到我必须在 karma 任务的名称中添加“:run”,以便在后台运行所有测试并仅使用 Karma 的一个实例. 听起来不错,很容易。它适用于单元测试,但是当我用 e2e 测试尝试同样的事情时它就不起作用了。出于某种原因,我得到:
Running "karma:e2e:run" (karma) task
NOT FOUND
当我删除“:运行”时,每次触发测试时我都会得到一个新的 Chrome 窗口。
我的 gruntfile 的相关部分如下所示:
karma : {
e2e : {
configFile : 'src/config/karma-e2e.conf.js',
background : true
},
unit : {
configFile : 'src/config/karma.conf.js',
background : true
}
},
watch : {
scripts : {
files : ["src/app/*.coffee", "src/partials/*.html","src/*.html","src/styl/*.styl"],
tasks : ['nah'],
options : {
spawn : false,
livereload: true
}
}
}
grunt.registerTask('nah', ['stylus','coffeelint','coffee','concat','karma:unit:run','karma:e2e:run','watch']);
我的 Karma 配置如下所示:
module.exports = function(config){
config.set({
basePath : '../',
files : [
'../test/e2e/*.js'
],
autoWatch : false,
//singleRun : true,
reporters : 'dots',
frameworks : ['ng-scenario'],
browsers : ['Chrome'],
proxies : {
'/': 'http://localhost:3000/src/'
},
urlRoot : '/__e2e/',
plugins : [
'karma-junit-reporter',
'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-jasmine',
'karma-ng-scenario'
],
junitReporter : {
outputFile: 'test_out/e2e.xml',
suite: 'e2e'
}
});
};
我不太确定什么是未找到以及如何解决它,因为我一直在谷歌搜索和弄乱它而没有任何结果,所以我决定在这里问。谢谢!