2013-05-06 52 views
1

我有一個應用程序使用Vuforia SDK(https://www.vuforia.com/)和一個在模擬器中不起作用的功能。我開始爲這個應用程序編寫單元測試,但我不知道爲什麼,但是當我運行測試時,它也嘗試構建主應用程序並失敗,因爲沒有適用於i386的有效體系結構。在沒有構建主應用程序的情況下運行單元測試

是不是可以不建立主應用程序?我只測試幾個模型類和一個XML解析器,不需要構建整個應用程序...

謝謝!

+1

如果它不是正在構建的,它將測試哪些代碼?也許你想要分析一個只關注模型和單元測試的子模塊;主應用程序會將這個模型部分作爲依賴項加載? – Mikeb 2013-05-06 20:19:46

+3

如果它沒有構建主應用程序,那麼沒有什麼可測試的。 – Kevin 2013-05-06 20:20:28

+0

我正在測試一個簡單的NSXMLParserDelegate,爲什麼我應該構建整個應用程序。我喜歡這個圖書館的解決方案,我想我會繼續這樣做。 – 2013-05-07 14:30:39

回答

4

您可以將需要測試的類放入庫或框架中,並使測試依賴於庫。這些測試和庫不需要Vuforia SDK。

可執行文件是一個單獨的目標(甚至是項目),具體取決於庫,但是在測試之後構建。

+2

+1我發現將所有的類放在一個靜態庫中使得它非常容易進行單元測試,或者使用調試助手庫創建額外的目標等。 – 2013-05-06 21:08:27

+0

我喜歡這個想法,謝謝! – 2013-05-07 14:30:59

1

爲新項目創建的單元測試目標是應用程序單元測試。它通過在構建設置中設置BUNDLE_LOADER和TEST_HOST將您的測試代碼注入到應用程序中。您可以創建一個新的單元測試目標,默認情況下這將是一個邏輯單元測試(BUNDLE_LOADER和TEST_HOST未設置)。然後將您想測試的代碼添加到新目標以及您的應用目標。將你的方案改爲新的目標並運行你的單元測試。

新的目標對話框

New Target Dialog

目標會員

Target Membership

選擇方案

Select Scheme

+0

感謝您的回答,我會試試看! – 2013-05-07 17:08:10

相關問題