http://blog.csdn.net/dongyu0729/article/details/38655959
XcodeCoverage可以檢測運行過的代碼,例子裏是手動運行,其實自動運行也是可以的
參考了以上文章,不同的是BaiduMobAdNativeSDKSample是寫單測的工程, 包含的工程,BaiduMobNativeSDK包含需要測試的.m文件
-BaiduMobAdNativeSDKSample
|-BaiduMobNativeSDK
1.下載XcodeCoverage,解壓放在項目BaiduMobNativeSDK(被檢測的代碼放在這個項目裏)根目錄裏,文件夾名稱確認是不是XcodeCoverage
2. 在Build Phases添加Run Script ,也是BaiduMobNativeSDK, XcodeCoverage/exportenv.sh
3.修改Build Setting
BaiduMobNativeSDK
的 Build Setting中Generate Test Coverage Files 和Instrument Program Flow爲YES
由於test在demo 裏,BaiduMobAdNativeSDKSample
和
BaiduMobAdNativeSDKSampleUnitTest的 Build
Setting 也做一樣的修改 (Generate Test Coverage Files 和Instrument Program Flow爲YES),不然會報錯
“
Undefined symbols for architecture i386:
"_llvm_gcda_start_file
"_llvm_gcda_emit_function"
”
命令行 cd到項目的XcodeCoverage的目錄中,執行./cleancov 清除覆蓋率信息
運行BaiduMobAdNativeSDKSampleUnitTest(Xcode先clean再運行程序,測試各個頁面,最後雙擊home鍵,上劃結束當前程序)
命令行 cd到項目的XcodeCoverage的目錄中,執行./getcov 查看覆蓋率信息