所謂單元測試覆蓋率是指**的每一行都應該寫單元測試覆蓋到,所以對於每乙個方法都寫乙個單元測試是必須的,另外, 如果該方法中存在眾多的
if語句分支,也應該在單元測試中覆蓋到。
在c的世界中,可以用
gcov工具計算覆蓋率,它會運動每乙個單元測試,然後統計**每一行的執**況,
gcov是最初用來測試
linux核心的覆蓋率的,是乙個命令列工具。可以用
lcov,它在
gcov的基礎上增加了
gui支援。
# wget
# tar -zxvf lcov-1.9.tar.gz
# cd lcov-1.9
# make install
test.c的**如下:
#include
#include
int main(int argc, char * argv) else \;@lcov --directory . --zerocounters
cov-report:
@mkdir -p coverage
cov:
@make cov-report
clean-local:
@make cov-reset
check:
@make cov
endif
(makefile裡面可以加在
cflags和
ldflags上),如果連線的時候出現
undefinedreference to `__gcov_init'錯誤,則還要加上
-lgocv,編譯成功後執行編譯好的程式,然後退出程式。
glib整合
gcov的乙個例子:
googletest簡稱
gtest 玩轉
google開源
c++單元測試框架
googletest系列
(gtest)(總)
golang 單元測試覆蓋率
參考單元測試是 質量的重要保證,測試覆蓋率是關鍵的衡量指標。在golang 中,通過go test 進行單元測試,並可以分析覆蓋率。首先看下示例 新建目錄utils,目錄有以下檔案 ll total 16 rw r r 1 lanyang staff 132b 12 31 21 09 add hin...
測試覆蓋率
摘要 在測試方法中粗略的介紹了幾種測試方法。其中,白盒測試的動態分析方法中提到邏輯覆蓋率測試有 語句覆蓋 分支覆蓋 判定覆蓋 條件覆蓋 條件 判定覆蓋和路徑覆蓋。這裡將詳細闡述邏輯覆蓋率測試。準備知識 可執行語句 可執行的一項操作 真 假分支 ture false 運算元 opreand 操作符 o...
測試覆蓋率
摘要 在 測試 方法中粗略的介紹了幾種測試方法。其中,白盒測試 的動態分析方法中提到邏輯覆蓋率測試有 語句覆蓋 分支覆蓋 判定覆蓋 條件覆蓋 條件 判定覆蓋和路徑覆蓋。這裡將詳細闡述邏輯覆蓋率測試。準備知識 可執行語句 可執行的一項操作 真 假分支 ture false 運算元 opreand 操作...