gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 21:47:11 25 4
gpt4 key购买 nike

我有一个非常大的代码库,其中包含大量单元测试(使用 CppUnit)。 我需要计算出这些测试执行了多少代码,并且(理想情况下)生成某种报告,告诉我在每个库或每个文件的基础上,有多少代码已被执行。

关键在于:它必须完全无人看管地运行(最终在持续集成构建中),并且必须是跨平台的(嗯,至少是 WIN32 和 *nix)。

谁能推荐一个工具或一组工具来帮助我做到这一点?我不能改变 CppUnit(我也不想 - 它踢屁股),但否则我很想听听你可能有的任何建议。

干杯,

最佳答案

我应该使用哪个工具?

这个 article describes另一位开发人员对搜索 C++ 代码覆盖工具感到沮丧。作者最终的解决方案是Bullseye Coverage .

Bullseye Coverage特点:

至于 Hook 到您的持续集成,这取决于您使用的 CI 解决方案,但您可以将检测/覆盖测量步骤 Hook 到您用于自动化测试的 make 文件中。


测试 Linux 与 Windows?

只要您的所有测试在两种环境中都能正常运行,您就应该可以很好地衡量其中一种环境的覆盖率。 (虽然 Bullseye 出现 to support both platforms )。但是你为什么不在这两种环境中进行持续集成构建呢?如果您在两种环境中都向客户交付产品,那么您需要在两种环境中都进行测试。

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

关于c++ - 如何测量 CppUnit 测试覆盖率(在 win32 和 Unix 上)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com