我有一個應用程序使用Vuforia SDK(https://www.vuforia.com/)和一個在模擬器中不起作用的功能。我開始爲這個應用程序編寫單元測試,但我不知道爲什麼,但是當我運行測試時,它也嘗試構建主應用程序並失敗,因爲沒有適用於i386的有效體系結構。在沒有構建主應用程序的情況下運行單元測試
是不是可以不建立主應用程序?我只測試幾個模型類和一個XML解析器,不需要構建整個應用程序...
謝謝!
我有一個應用程序使用Vuforia SDK(https://www.vuforia.com/)和一個在模擬器中不起作用的功能。我開始爲這個應用程序編寫單元測試,但我不知道爲什麼,但是當我運行測試時,它也嘗試構建主應用程序並失敗,因爲沒有適用於i386的有效體系結構。在沒有構建主應用程序的情況下運行單元測試
是不是可以不建立主應用程序?我只測試幾個模型類和一個XML解析器,不需要構建整個應用程序...
謝謝!
您可以將需要測試的類放入庫或框架中,並使測試依賴於庫。這些測試和庫不需要Vuforia SDK。
可執行文件是一個單獨的目標(甚至是項目),具體取決於庫,但是在測試之後構建。
+1我發現將所有的類放在一個靜態庫中使得它非常容易進行單元測試,或者使用調試助手庫創建額外的目標等。 – 2013-05-06 21:08:27
我喜歡這個想法,謝謝! – 2013-05-07 14:30:59
爲新項目創建的單元測試目標是應用程序單元測試。它通過在構建設置中設置BUNDLE_LOADER和TEST_HOST將您的測試代碼注入到應用程序中。您可以創建一個新的單元測試目標,默認情況下這將是一個邏輯單元測試(BUNDLE_LOADER和TEST_HOST未設置)。然後將您想測試的代碼添加到新目標以及您的應用目標。將你的方案改爲新的目標並運行你的單元測試。
新的目標對話框
目標會員
選擇方案
感謝您的回答,我會試試看! – 2013-05-07 17:08:10
如果它不是正在構建的,它將測試哪些代碼?也許你想要分析一個只關注模型和單元測試的子模塊;主應用程序會將這個模型部分作爲依賴項加載? – Mikeb 2013-05-06 20:19:46
如果它沒有構建主應用程序,那麼沒有什麼可測試的。 – Kevin 2013-05-06 20:20:28
我正在測試一個簡單的NSXMLParserDelegate,爲什麼我應該構建整個應用程序。我喜歡這個圖書館的解決方案,我想我會繼續這樣做。 – 2013-05-07 14:30:39