我想在我的项目中使用带有tap测试框架的Karma测试运行器,当只有2个测试时,我会因并行运行测试而陷入困境
当测试文件夹中有多个测试时,我无法运行业力。我已经在网上搜索了这个问题,看到大多数人因为100次测试而看到了内存问题,而且主要是通过更改超时值来解决。我尝试更改所有超时和断开连接值,但它没有帮助。
我已经阅读了所有那些StackOverflow页面,我不认为这是一个记忆等等,因为只有2个测试就会出现同样的问题。不管怎么说,人们可能直到今天仍然存在记忆问题。
在测试中,(当测试只进行一次测试时,此测试运行正常)只有第一步运行正常我测试项目是否存在 - > t.ok(项目,' projectexist') 在那一步之后,无论我做什么超时值,我都会看到DISCONNECT错误。我也尝试打开2个浏览器没有帮助(因为我的测试需要来自浏览器的合作伙伴。)
browserDisconnectTimeout: 100000,
browserNoActivityTimeout: 100000,
browserDisconnectTolerance: 10,
以下是我在控制台上收到的错误消息
26 03 2018 09:59:37.240:WARN [Chrome 65.0.3325 (Windows 7.0.0)]: Disconnected (1 times), because no message in 10000 ms.
Chrome 65.0.3325 (Windows 7.0.0) ERROR
Disconnected, because no message in 10000 ms.
Chrome 65.0.3325 (Windows 7.0.0): Executed 0 of 0 DISCONNECTED (10.214 secs / 0 secs)
error Command failed with exit code 1.
我看到的另一个有趣的问题是,它失败了2个完全相同的测试,但是如果我切断其中一个,我看到SUCCESS没有运行完整测试中的所有步骤。 让我们说我有2个测试
1完整测试 2 1步测试
注意:通常只有一次测试时,完整的测试运行正常,如果我使代码失败,也会显示正确的失败,但是当文件夹中有2个测试时,这种情况完全是奇怪的行为
karma配置文件
module.exports = function (config) {
config.set({
plugins: [
require('karma-webpack'),
require('karma-tap'),
require('karma-chrome-launcher')
],
browserDisconnectTimeout: 100000,
browserNoActivityTimeout: 100000,
browserDisconnectTolerance: 10,
basePath: '',
frameworks: ['tap'],
files: ['test/**/*.js'],
preprocessors: {
'test/**/*.js': ['webpack']
},
webpack: {
node: {
fs: 'empty'
}
},
webpackMiddleware: {
noInfo: true
},
reporters: ['dots'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
})
}