6
我的iOS項目有五個方案:本地開發,集成,質量保證,演示和生產。每種方案都使用不同的配置來控制網絡輪詢頻率,API端點,分析等等。Xcode/iOS:單元測試,方案和配置
同樣,我們有五個相應的目標:本地開發,集成,質量保證,演示和生產。每個目標有幾個用戶定義的生成設置,其包含API的鍵,定時數值等
我們的應用程序的Info.plist
文件使用應用程序變量如${SOME_ENDPOINT_URL}
在相應的用戶定義的構建設置來繪製。
要檢索的變量,我這樣做如下:
[[[NSBundle mainBundle] infoDictionary] valueForKey:@"Some Endpoint URL"]
這將對應於用戶定義的構建設置,就像這樣:
"Some Endpoint URL" = ${SOME_ENDPOINT_URL}
我現在正在考慮如何正確配置項目以執行單元和邏輯測試。
要構建測試以確定環境是否配置正確,我不確定最佳實踐是什麼。
- 爲每個環境構建五個額外的測試特定目標是否正確?
- 或者爲每個方案的測試組件覆蓋「Run action's arguments」設置,並提供一些參數來指定我們正在查看的方案?
- 是否有任何現有的參考用於爲具有多個環境的iOS項目配置單元和邏輯測試?這個項目的複雜性似乎超出了大多數文檔的範圍。
蘋果不斷使整個目標/計劃系統非向後兼容的改變 - 我認爲你沒有找到文檔的原因是,蘋果打算/希望讓更多的這些打算前鋒,並希望躲開他們將會得到的高射炮。有人在蘋果似乎特別討厭目標,所以我會親自去使用「使用參數」的方法 - 目標可能會被nerfed(又:(:)。 – Adam 2013-04-05 20:07:29
而不是有這麼多不同的目標,爲什麼不只有一個目標,以及五種配置,而不是調試和發佈,你可以使用LocalDev,Integ,QA,Demo,Prod,然後你可以創建五個方案來構建相同的目標,但是具有不同的配置 – 2013-06-16 17:45:06
@JacobLukas你知道嗎?我總是避免使用方案,但聽起來他們真的很有用。 – DogCoffee 2013-09-16 22:44:10