一项测试失败的原因是:
Error: timeout of 2000ms exceeded. Ensure the done() callback is being called in this test.所以我加入了this.timeout(0),然后我得到了:
Disconnected, because no message in 10000 ms.我继续将browserNoActivityTimeout: 0添加到配置文件中。
当我尝试运行测试时,浏览器将打开,控制台将显示已通过的测试。
成功 跳过0次测试
为什么浏览器没有关闭?它还在等什么?
browserNoActivityTimeout Karma需要等待多久才能从浏览器中断开连接(以ms表示)。 https://github.com/karma-runner/karma/blob/master/docs/config/01-configuration-file.md#browsernoactivitytimeout
命令:
karma start --single-runConfig:
webpackConfig.module.loaders.push({
test: /\.js$/,
include: /src/,
exclude: /node_modules/,
loader: 'isparta'
});
var karmaConfig = {
frameworks: ['mocha'],
browsers: ['Chrome'],
//browserNoActivityTimeout: 0,
logLevel: 'INFO',
//reporters: ['progress', 'coverage-allsources', 'coverage'],
reporters: ['progress', 'coverage'],
autoWatch: true,
files: [
'test/karma.js'
],
urlRoot: '/karma-runner/',
preprocessors: {
'test/karma.js': ['webpack', 'sourcemap']
},
webpackMiddleware: {
stats: 'minimal',
watchOptions: {
aggregateTimeout: 300
}
},
webpack: webpackConfig,
coverageReporter: {
dir: 'report/coverage',
include: 'src/**/*.js',
// Any .js files that are not imported/required need to be added to the
// exclude:, otherwise you will get a JS error for
// 'Unexpected token in esprima.js'.
// This appears to be a bug with the karma-coverage-allsources repo.
exclude: 'src/init.js',
reporters: [
{'type' : 'cobertura'},
{'type' : 'html'},
{'type': 'text-summary'}
]
}
};发布于 2017-01-24 21:52:42
打完问题五分钟后,我找到了答案。
入口点"test/karma.js“有打开调试选项卡的代码,这可能会以某种方式中断Karma。
window.open('/karma-runner/debug.html', '_blank');https://stackoverflow.com/questions/41839363
复制相似问题