本文轉(zhuǎn)載于搜狗測(cè)試
OpenCppCoverage是Windows下的C ++的一個(gè)開(kāi)源代碼覆蓋工具。主要用途是進(jìn)行單元測(cè)試的覆蓋面,但你也可以用它來(lái)了解一個(gè)程序用于調(diào)試目的執(zhí)行的行——行覆蓋哦!
特點(diǎn):
Non intrusive:只需要通過(guò)OpenCppCoverage運(yùn)行程序,不需要重新編譯應(yīng)用程序。
Visual Studio support: Support compiler with programdatabase file (.pdb).
Run as Visual Studio Plugin: See here for moreinformation.
Low overhead.
Line coverage.
Jenkins support: See here for more information.
Coverage aggregation: Run several code coverages andmerge them into a single report.
Child processes coverage.
HTML reporting:
關(guān)于代碼覆蓋率工具我們之前都是通過(guò)打樁來(lái)完成,在代碼中插入相關(guān)的樁來(lái)統(tǒng)計(jì)覆蓋度。OpenCppCoverage使用起來(lái)非常簡(jiǎn)單,它不需要在編譯時(shí)插樁,只需要有pdb文件,運(yùn)行時(shí)插樁,通過(guò)OpenCppCoverage啟動(dòng)進(jìn)程即可。
使用方法如下:
覆蓋率詳細(xì)結(jié)果:
官網(wǎng)上提供了詳細(xì)的使用文檔和與jenkins的集成文檔,
使用文檔:https://opencppcoverage.codeplex.com/documentation
Jenkins集成:https://opencppcoverage.codeplex.com/wikipage?title=Jenkins
Jenkins集成
對(duì)比我們之前自己開(kāi)發(fā)的覆蓋率工具(ImeCodeCoverage),感興趣的小伙伴可以回復(fù)“覆蓋率工具”搜索一下。
優(yōu)點(diǎn):
無(wú)需編譯匯編文件,定位函數(shù)。
無(wú)需插樁,程序的一致性。
支持多種覆蓋方式。
缺點(diǎn):
Release版本優(yōu)化的內(nèi)容無(wú)法定位。
多模塊依賴(lài)比較繁瑣。