這是OP,如果問題依然存在,仍然是相關的,併爲論壇瀏覽器:
我也一樣,隨後在iOS開發的gudielines單元和應用程序測試指南。 我也一樣,下面的應用程序測試指南時,有一個問題,因爲每個:
Test Suite 'FirstSuite' started at 2010-12-08 21:30:33 GMT 0000
Test Case '-[FirstSuite testAppDelegate]' started.
/Users/TomCruise/Documents/iPhoneDevelopment/PickerLeak/FirstSuite.m:22: error:-[FirstSuite testAppDelegate] : "((app_delegate) != nil)" should be true. Cannot find the application delegate.
Test Case '-[FirstSuite testAppDelegate]' failed (0.000 seconds).
即應用程序委託未找到預期。
問題是,當我以爲我遵循指導原則時,我沒有。顯然,應用程序測試僅在設備上運行。所以我從Simulator切換到Device(用於AppTesting目標),連接我的iPhone,然後執行Build + Run(cmd + return/enter)。應用程序自己安裝,並在幾秒鐘後退出代碼1(我猜這表示錯誤的返回代碼)。
應用後退出了,我做了SHIFT + CMD + R,(UPARROW + CMD + R)獲取該日誌的提示,可以閱讀以下內容:
2010-12-08 22:59:59.163 PickerLeak[5356:307] -[UIPickerView setFrame:]: invalid height value 200.0 pinned to 180.0
Test Suite 'All tests' started at 2010-12-08 22:00:00 GMT 0000
Test Suite '/var/mobile/Applications/{number}/PickerLeak.app/PickerLeakTests.octest(Tests)' started at 2010-12-08 22:00:00 GMT 0000
Test Suite 'FirstSuite' started at 2010-12-08 22:00:00 GMT 0000
**Test Case '-[FirstSuite testAppDelegate]' started.
Test Case '-[FirstSuite testAppDelegate]' passed (0.001 seconds).**
Test Case '-[FirstSuite testFail]' started.
/Users/TomCruise/Documents/iPhoneDevelopment/PickerLeak/FirstSuite.m:17: error: -[FirstSuite testFail] : Must... fail.
Test Case '-[FirstSuite testFail]' failed (0.003 seconds).
Test Suite 'FirstSuite' finished at 2010-12-08 22:00:00 GMT 0000.
Executed 2 tests, with 1 failure (0 unexpected) in 0.004 (0.008) seconds
所以......萬歲! :)
Godspeed,開發人員。
是的,您的應用程序源應該包含在測試目標的編譯源構建階段。你能發佈你的單元測試代碼和實際錯誤嗎? – 2010-07-08 19:28:08
@chrispix - 側面的問題,有沒有一種方法可以自動將所有代碼掃描到測試目標中,而無需每次都明確添加它們以創建新類? – groundhog 2010-07-09 02:28:48
我不知道有什麼方法可以「自動」將其掃描到測試目標中。但是,當您使用XCode創建新類時,對話框會詢問您將其添加到哪些目標,並默認爲您上次選擇的任何目標。根據我的經驗,我添加的每個類都被添加到我的測試目標中 - 它可以是我的應用中的測試類或類,它將以某種方式進行測試。所以我的測試目標總是在該對話框中檢查。問題實際上是相反的 - 記住不要在你的應用程序目標中包含測試類。 – 2010-07-09 05:39:50