做 Unit Test時,有時工程比較大時,testCase中集成的單元測試用例會比較多,如果新增、修改、寫unit test每次有變動時都全部運行所有的測試用例,效旅是非常低的。幸運的是,Xcode 工具有一個Test navigator 視圖,利用 Xcode 工具 Test navigator 視圖可以單獨跑一個測試用例。
1. 問題:
可是,最近發現我的xcode test navigator視圖變成“Loading Tests...”,一直是這狀態,如下圖:
2. 原因:
因爲項目工程非常大,代碼量非常大,每次xcode 打開 工程,剛開始 indexing 都非常耗時和造成iMac 巨卡。所以在很久前就關掉了 xcode 的一個功能即 indexing,(關掉 Xcode indexing 功能,參見我的另一篇文章:《解決XCode一直indexing的方法》)
3. 解決辦法:
那就是取消 indexing 了,方法如上提到的文章
defaults write com.apple.dt.XCode IDEIndexDisable 0
關掉 Xcode ,重新打開,然後切到 test navigator,奇蹟出現了。
誰也沒有意識到 test navigator裏面 XCTest.framework 自動檢測和load test case需要依賴於 indexing。坑的很,爲解決這個問題花了很久的時間,蘋果論壇上也有遇到相同問題的,但都沒有是因爲這個的,害慘了,寫篇文章備忘下。