2014-02-24 53 views
4

我們最近使用iOS應用程序設置了一些Xcode bots,以自動構建和測試我正在處理的應用程序。如果我只是構建和分析,構建過程就可以正常工作。如果我將它設置爲運行測試,它將以可變數量的錯誤結束,並以Unexpected TestSuiteWillFinish結束。例如,最近的運行表明:單元測試期間Xcode CI機器人錯誤(意外TestSuiteWillFinish)

Run test suite TimeClockTestCase encountered an error (Unexpected TestCaseDidFinish) testParseResponseString encountered an error (Unexpected TestSuiteWillFinish) testGetIntegrationID encountered an error (Unexpected TestSuiteWillFinish)

而在這之前的一個剛一個錯誤:

testAddChildObjectTypeTimeClockEvent encountered an error (Unexpected TestSuiteWillFinish)

整合結果顯示爲過去了,不管要顯示的錯誤,所有的測試。如果我直接通過Xcode運行測試(而不是在服務器上運行bot),則不會出現錯誤,並且會傳遞相同數量的測試。

什麼原因導致這些錯誤,我該如何消除它們?


這些都是從TimeClockTestCase日誌:

Test Suite 'TimeClockTestCase' started at 2014-02-23 23:11:09 +0000 
2014-02-23 18:11:09.653 -0500 [TimeClockResponseCommand parseResponseString] [Line 74] W: Unsupported action number "3" in TIMECLOCK response command 

Test Case '-[TimeClockTestCase testAddChildObjectTypeTimeClockEvent]' started. 
Test Case '-[TimeClockTestCase testAddChildObjectTypeTimeClockEvent]' passed (0.000 seconds). 
Test Case '-[TimeClockTestCase testAddChildObjectTypeTimeClockMode]' started. 
Test Case '-[TimeClockTestCase testAddChildObjectTypeTimeClockMode]' passed (0.000 seconds). 
Test Case '-[TimeClockTestCase testTimeclockEventColl]' started. 
Test Case '-[TimeClockTestCase testTimeclockEventColl]' passed (0.000 seconds). 
Test Case '-[TimeClockTestCase testTimeclockModeColl]' started. 
Test Case '-[TimeClockTestCase testTimeclockModeColl]' passed (0.000 seconds). 
Test Suite 'TimeClockTestCase' finished at 2014-02-23 23:11:09 +0000. 

回答

5

我得到了相同的隨機行爲。我能夠確定我正在製作一個異步調用和測試它,是什麼引起了這個隨機Unexpected TestSuiteWillFinish

當我使用Kiwi時,我所做的就是等待異步調用的結束,如這裏所示(https://github.com/allending/Kiwi/wiki/Asynchronous-Testing)針對那些特定的異步調用。

希望得到這個幫助!

+0

事實證明,情況確實如此,雖然修正略有不同,因爲我們使用CocoaLumberjack而不是Kiwi。作爲參考,我將'#define LOG_ASYNC_ENABLED YES'改爲'NO'。 – thegrinner

0

我們遇到了同樣的問題Unexpected TestSuiteWillFinish調用導致測試中止。在我們的例子中,這是由於過多的調試日誌。禁用我們的日誌記錄導致的測試再次可靠地傳遞。

這似乎不是你的問題的原因,但也許這是一個提示?

我誤以爲是XCTest跑步者有某種超時。那麼請檢查您的測試是否及時執行?

相關問題