我正在嘗試執行共享庫的覆蓋測試。我選擇了gcov/lcov,因爲它是免費且開源的,這意味着我可以立即嘗試(商業軟件需要批准/購買,必須做出很多決定 - 它花費時間)。使用gcov進行共享庫覆蓋測試[Linux/Fortran]
情況如下 - 圖書館 - 我們用Fortran編寫的產品然後用於仿真軟件(具體來說就是MSC.Software的ADAMS)。我可以使用-fprofile-arcs -ftest-coverage編譯庫,如果ADAMS使用它,它可以正常工作。但是,沒有創建.gcda文件。
有一個小的測試可執行文件來測試庫的基本行爲(小方法的子集)。如果我使用覆蓋測試開關編譯此可執行文件,則可以爲可執行文件和庫獲取.gcda文件。
現在的問題是:如果使用該庫的可執行文件未使用coverage測試開關進行編譯,是否可以調用該庫的gcov度量值?如果是的話,怎麼樣?
可以編寫大量的測試,但它幾乎就像複製ADAMS(或其他任何仿真軟件包)一樣。或者我選擇了錯誤的覆蓋測試工具,我應該轉向商業產品?
預先感謝您。
邁克
謝謝你的回答。 這就是我通常所做的,然而在這裏庫的測試是特殊輸入數據集,它被輸入到ADAMS中,輸出與預期結果進行比較。 代碼覆蓋率應該找到任何「死代碼」,代碼不再使用,而不是檢查單元測試的質量。 如果沒有其他解決方案,我們只需要實施大量的單元測試。我希望我可以通過使用gcov來避免它。 Regards, Mike – Mike 2011-03-04 13:00:22