2016-09-13 42 views
0

我想對Bamboo CI執行一些單元測試。正如Karma配置中所建議的那樣,我確實有SingleRun = true. 記者使用的是「進度」。 由於我們使用Angular CLI構建我們的應用程序,所以我利用了我設置爲npm腳本的ng test --build=false命令。所以,我跑我的測試用命令npm run <myscriptname>如何捕獲Karma返回/退出代碼?

問題 - 我能夠運行測試,有的通和一些失敗了,但是,我的任務總是隻要我能夠運行測試返回成功。

我想盡量避免使用gulp/grunt,所以如果可能的話讓我知道沒有它的東西。我也試着直接打電話給Karma start <config file>,但那也沒有幫助。

回答

1

嘗試添加一個腳本任務而不是命令。在腳本正文中,您可以以相同的方式運行腳本,並嘗試使用「$?」捕獲exit命令,並手動發送退出代碼。如果測試失敗,還要確保腳本返回非零代碼。

if [ "$?" != "0" ]; then 
    echo "The script returned non-zero error code!" >&2 
    exit 1 
fi 
+0

謝謝你的時間。不過,我懷疑這是否會奏效。原因是,因爲我使用ng測試來運行karma測試,所以它消耗了由業力返回的退出狀態,所以只要我能夠運行測試,它就說它是好的,不管測試失敗。 (是的,我也找到解決方案,現在我直接運行Karma) – TypeScripter

1

現在能夠通過Karma找到正確的狀態。 問題 - 當我們通過ng測試執行Karma時。所有由業力返回的退出狀態正在被ng消耗。所以,只要我們能夠運行測試(不論測試失敗),我們就可以獲得「成功」。

解決方案 - 直接調用業力。這樣我們可以處理退出狀態,這有助於在CI期間。