2012-02-17 60 views
0

在Xcode的單元測試環境是一個黑盒給我的,但是從我所看到的我的數字測試莫名其妙貼到主應用程序,然後整個事情是運行,執行測試,而不是正常的應用程序流。我如何知道我的應用程序當前用作測試軟件包加載程序?

這是偉大的,因爲它可以讓我調試和運行都在模擬器和真正的設備測試。 (我認爲這是不可能的,測試總是用在模擬器上運行,做了一些改變?)但我注意到,在測試過程中,整個應用程序真正運行,所有的花裏胡哨的。這並不是一個理想的行爲,因此我爲Test方案設置了一個環境變量,如果我在application:didFinishLaunchingWithOptions:中檢測到變量,則跳過通常的初始化,只需放置一個虛擬窗口並等待測試裝置完成。

難道這就是喜歡這個工作?是否有一種「標準」方式來檢測應用程序是否作爲測試裝置的主機運行? (我使用的Xcode 4.3的正式版本,如果該事項。)

回答

0

一種選擇是停止使用主應用程序的捆綁裝載機。相反,你可以創建一個最基本的應用程序(我們稱之爲TestRunner的),只是顯示一個空屏幕和服務器的包加載器測試套件:

  • 使測試目標取決於TestRunner的。
  • 設置檢查對象的捆綁Loader來$(BUILT_PRODUCTS_DIR)/TestRunner.app/TestRunner
  • 將測試目標的測試主機到$(BUNDLE_LOADER)

這增加了一個額外的目標到項目,但保持主要的應用程序目標獨立於測試。

相關問題