2016-03-07 47 views
0

我們最近剛剛通過升級節點版本殺死了Teamcity(ooops)中的所有e2e測試。失敗的e2e測試通過Teamcity構建

我確定這是我們能夠理清的事情,但它強調了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

你能發佈完整測試輸出?你在使用什麼量角器和節點版本? – alecxe

+0

節點 - v4.3.2 量角器 - v3.1.1 – dazziep

回答

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 ;) 
}); 
+0

爲我工作謝謝! +1 – daddywoodland