当前位置:  开发笔记 > 编程语言 > 正文

如何衡量CppUnit测试覆盖率(在win32和Unix上)?

如何解决《如何衡量CppUnit测试覆盖率(在win32和Unix上)?》经验,为你挑选了2个好方法。

我有一个非常大的代码库,包含大量的单元测试(使用CppUnit).我需要确定这些测试执行的代码百分比,并且(理想情况下)生成某种报告,该报告以每个库或每个文件的形式告诉我,执行了多少代码.

这是踢球者:这必须完全不受限制地运行(最终在持续集成构建中),并且必须是跨平台的(至少WIN32和*nix).

任何人都可以建议一个工具,或一组可以帮助我做到这一点的工具吗?我不能改变CppUnit(我也不想 - 它踢屁股),但除此之外,我很想听到你可能有的任何建议.

干杯,



1> Justin Stand..:

我应该使用哪种工具?

该文章描述了另一开发商挫折搜索为C++代码覆盖工具.作者的最终解决方案是Bullseye Coverage.

Bullseye Coverage功能:

跨平台支持(win32,unix和嵌入式),(支持linux gcc编译器和MSVC6)

易于使用(在几小时内启动并运行).

提供"最佳"指标:功能覆盖范围和条件/决策覆盖范围.

使用源代码检测.

至于连接到您的持续集成,它取决于您使用的CI解决方案,但您可以将仪器/覆盖测量步骤挂钩到用于自动测试的make文件中.


测试Linux vs Windows?

只要您的所有测试在两种环境中都能正确运行,您就可以很好地测量其中一种测试的覆盖范围.(虽然Bullseye似乎支持这两个平台).但为什么不在两种环境中进行持续集成构建?如果您在两种环境中交付给客户,那么您需要在两者中进行测试.

出于这个原因,听起来你可能需要设置两个连续的构建服务器,一个用于linux构建,一个用于windows构建.也许这可以通过vmware或virtualbox等虚拟化软件轻松完成.您可能不需要在两个操作系统上运行代码覆盖率指标,但您绝对应该在两者上运行单元测试.



2> Imbue..:

如果你可以使用GNU GCC作为编译器,那么gcov工具效果很好.完全自动化整个过程非常容易.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有