我们最近刚刚通过升级节点版本杀死了Teamcity(ooops)中的所有e2e测试。
我确信这是我们能够解决的问题,但它突出显示Teamcity设置不正确(或其他东西是错过的)。
正如我所说的所有测试都失败但是构建步骤只是说它以代码0退出并继续成功构建。
[15:53:13][Step 4/6] 51 specs, 51 failures
[15:53:13][Step 4/6] Finished in 106.981 seconds
[15:53:13][Step 4/6]
[15:53:13][Step 4/6] closing code: null
[15:53:13][Step 4/6] Process exited with code 0
我们正在使用量角器进行测试,并在构建步骤中使用命令行运行程序运行它们。
npm run teamcity-e2e
很抱歉,如果这很模糊,但希望这对某人有意义,他们可以指出我正确的方向:)
欢呼声..
- 经过更多调查后编辑 -
我现在知道问题出在我创建的节点脚本(teamcity-e2e.js)......
const exec = require('child_process').exec;
const server = exec('live-server ./dist --port=3000 --no-browser');
const tests = exec('npm run e2e');
tests.stdout.on('data', function(data) {
console.log(data);
});
tests.stderr.on('data', function(data) {
console.log(data);
});
tests.on('close', function(code) {
console.log('closing code: ' + code);
exec('taskkill /PID ' + server.pid + ' /T /F');
});
虽然我不知道问题是什么,所以在帮助之后请任何人;)
答案 0 :(得分:2)
太棒了我已经修好了它:)
快速而简单的答案是我的节点脚本实际上没有返回退出代码DOH :)
这是我的固定解决方案......
const exec = require('child_process').exec;
const server = exec('npm run server:test');
const tests = exec('npm run e2e');
tests.stdout.on('data', function(data) {
console.log(data);
});
tests.stderr.on('data', function(data) {
console.log(data);
});
tests.on('close', function(code) {
console.log('closing code: ' + code);
exec('taskkill /PID ' + server.pid + ' /T /F');
process.exit(code); //here's the bad boy ;)
});