2012-04-11 73 views
3

我試圖獲得我的單元測試(Mac OS X Lion 10.7(11A2061)上的Xcode 4.2.1(4D502))的代碼覆蓋率,但以某種方式.gcda文件不要創建。我可以在單元測試目標的.../Objects-normal/i386文件夾中看到.d和.o文件,但是單元測試的文件缺少gcno/gcda文件,因此我無法生成覆蓋範圍什麼是測試的統計數據。未在OSX Lion上生成代碼覆蓋率文件

在主目標上,我確實看到了每個文件的.d,.o和.gcno文件。

所以,我相信我已經正確設置了項目設置,但是對於OS X Lion來說真的缺少了一些「小」的東西。我已經嘗試了http://code.google.com/p/coverstory/wiki/UsingCoverstory中提到的步驟,但似乎沒有解決我的問題。

注意:我能夠在Snow Leopard上使用它,並使用CoverStory查看覆蓋率統計信息!

在這方面的任何解決方案/方向將非常有幫助。謝謝!!

+0

您的測試是否成功在Lion上進行覆蓋配置? – 2012-04-19 02:59:18

回答

0

確保下面的生成設置到位爲您的代碼和您的測試:

GCC_PREPROCESSOR_DEFINITIONS = GCOV_ENABLED=1

GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES

GCC_GENERATE_TEST_COVERAGE_FILES = YES

建築/運行測試應該創建缺少gcda文件。我遇到了這個問題,我有一個包含上面的xcconfig文件模板。您不必使用最新版本的Xcode鏈接到gcov庫。

4

我錯過了gcda文件,但在某些網站上找到解決方案。您需要添加這些標誌:

-fprofile-arcs -ftest-coverage 

更改爲「其他C標誌」。運行測試後,gcda文件存在。

將「生成測試覆蓋率文件」和「儀器程序流程」都設置爲YES後生成gcno文件。

我正在使用Xcode 4.3.2和llvm編譯器。

或者,我發現將生成分析代碼設置爲YES也會導致生成gcda文件。