2015-10-02 50 views
6

代碼覆蓋率通常用於Xcode中的測試。我想用它來手動執行的應用程序。我可以使用第三方工具嗎?Xcode不帶測試的代碼覆蓋率(手動運行)

例如:我在設備上構建並啓動應用程序,對其執行一些操作,然後查看代碼覆蓋率結果。

+0

所以你基本上想看看在正常運行期間哪些代碼部分達到了!請注意,這些信息可能是不值得的,因爲你永遠不能確定已經使用了所有可能的操作,並且遇到了每種潛在的可能性......! – luk2302

+0

@ luk2302是的,正好。覆蓋結果對於檢查執行的手動測試是否涵蓋了所有場景很有用。因此,例如,在手動運行後,我們會看到哪些代碼片段被覆蓋,哪些片段應該進行測試以確保它們正常工作。讓我再說一次,我的應用程序是特定於內容的,所以我無法記錄UI操作。 – brigadir

回答

0

代碼覆蓋率將記錄您的代碼的哪些部分運行。但是你可以建立一些UITests,如你所說的那樣執行一些動作。 UI可以記錄UI測試,以重複您在模擬器上執行的操作,然後當您運行測試時,它將重複您所做的操作。這個覆蓋範圍將顯示哪些代碼在UITests期間激發的部分。

查找在Xcode 7. UITesting一些信息沒有從wwdc15在開發者會議的一個良好的演示

https://developer.apple.com/videos/wwdc/2015/?id=406

+0

謝謝,但它不完全是我想要的。我的應用程序是特定於內容的,因此我無法記錄UI操作。通常,代碼覆蓋可與任何代碼執行一起使用,包括手動運行。看起來在Xcode中,它們僅限於測試使用。我正在尋找可與手動運行結合使用的方法:用戶與應用程序交互,然後我們看到在此運行過程中執行了哪些代碼。 – brigadir

0

也許你可能已經想通了,但是之前是可能的Xcode7。我們實現這一目標的方法是,在項目中將「儀器程序流程」和「生成測試覆蓋率文件」標誌設置爲是,然後在應用程序內的某處添加「刷新」代碼以編寫覆蓋率數據文件。這個「沖洗」部分實際上是編寫覆蓋數據文件,以供其他工具(如gcovr或lcov)稍後使用,以獲取您的覆蓋數據。一旦您與應用程序進行交互,無論是手動還是通過自動化測試,覆蓋率數據都會被寫入。

但是,使用Xcode7,看起來覆蓋數據僅限於Xcode單元測試。我仍然試圖弄清楚,是否有任何方法來收集覆蓋率數據,手動與應用程序交互或通過自動化測試。

+0

我已閱讀過有關'gcovr'的舊式方法,但在Xcode7中以新方式感興趣。 Xcode7爲XCTests生成覆蓋率報告,但必須有一些工具集,但我找不到有用的信息。如果您發現有用的東西,請告訴我。 – brigadir

相關問題