我遇到了一段时间无法解决的问题,并且因为我不知道自己在做错什么而感到非常沮丧。 :) 任何帮助深表感谢。我也在我的应用程序中使用requirejs。这基本上就是我想要建立的; https://github.com/Cengizism/base
当我尝试开始我的e2e测试时,我会在我的控制台上看到它;
INFO [karma]: Karma v0.10.0 server started at http://localhost:8080/_karma_/
INFO [launcher]: Starting browser Chrome
INFO [Chrome 28.0.1500 (Mac OS X 10.8.4)]: Connected on socket id n-0AVRliCogs2nWBfgDz
Chrome 28.0.1500 (Mac OS X 10.8.4): Executed 0 of 0 ERROR (0.208 secs / 0 secs)
我的配置文件如下所示;
module.exports = function(karma) {
'use strict';
karma.set({
frameworks: ['jasmine', 'ng-scenario'],
files: [
'app/vendors/angular-scenario/angular-scenario.js',
'test/e2e/*.js'
],
basePath: '',
exclude: [],
reporters: ['progress'],
port: 8080,
runnerPort: 9100,
colors: true,
logLevel: karma.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
captureTimeout: 5000,
singleRun: false,
proxies: {
'/': 'http://localhost:9000/'
},
urlRoot: '/_karma_/',
plugins: [
'karma-jasmine',
'karma-ng-scenario',
'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-phantomjs-launcher'
]
});
};
最后是spec文件;
describe('Simple E2e Test', function()
{
it('Should open the front page and check', function()
{
browser().navigateTo('/#/partial1');
sleep(1);
expect(element('#test').html()).toEqual('Hi testUser1');
});
});
答案 0 :(得分:12)
也许这可以帮到你:
要修复它,karma.conf.js中应包含以下行
排除:['app / lib / angular / angular-scenario.js'],
答案 1 :(得分:4)
我对此也不是很清楚,但在遇到这个问题后,我从加载中删除了文件angular-scenario,并且能够让测试运行。我认为问题在于单元测试和e2e测试配置之间的区别。
答案 2 :(得分:3)
我有同样的错误,一旦我开始添加一些测试它就消失了。错误是否可能意味着没有任何测试?
答案 3 :(得分:0)
这可能是由于您在文件[]中添加的相对路径可能是错误的。 我有同样的错误,并在它工作正常后!
答案 4 :(得分:0)
在我的情况下,模块格式在仅由karma使用的shim文件中是错误的。我将格式更改为'注册'根据文档found here。
支持SystemJS模块System.config({
packages: {
'base/dist/client': {
warnings: true,
defaultExtension: 'js',
format: 'register',
map: { }
}
}
});
这就是TS输出的样子。我必须假设这些测试被包装为系统模块,因此它们没有正确加载。换句话说,错误是由于没有运行测试而导致的。
System.register(['angular2/testing', "./data-pipe"], function(exports_1) {
var testing_1, data_pipe_1;
return {
setters:[
function (testing_1_1) {
testing_1 = testing_1_1;
}
]
// yada, yada, yada..
}
}
});