|
|
1
14
我应该使用哪个工具?这 article describes 另一个开发人员在寻找C++代码覆盖工具时感到沮丧。作者的最终解决方案是 Bullseye Coverage . 牛眼覆盖率 特征:
至于连接到您的持续集成,这取决于您使用的CI解决方案,但您可能会将仪器/覆盖率测量步骤连接到您用于自动化测试的make文件中。 测试Linux与Windows?只要你的所有测试在两个环境中都能正确运行,你就可以很好地衡量其中一个环境的覆盖率。(虽然牛眼出现了 to support both platforms ).但是,为什么不在这两个环境中进行持续集成构建呢??如果您在这两种环境中都向客户交付,那么您 需要 两者都要测试。 出于这个原因,听起来您可能需要设置两个连续构建服务器,一个用于linux构建,另一个用于windows构建。也许这可以通过一些虚拟化软件轻松实现,比如 vmware 或 virtualbox 。您可能不需要在两个操作系统上运行代码覆盖率指标,但您绝对应该在两个系统上运行单元测试。 |
|
|
3
4
如果您使用GCC工具链,gcov将为您获取源代码、功能和分支覆盖率统计数据。gcov在MinGW和Cygwin上运行良好。这将使您能够获得覆盖率统计数据,并发出插入指令的源代码,使您能够可视化未执行的代码。 然而,如果你真的想用漂亮的报告把它打出来,结合gcov和 lcov 这是我们应该走的路。lcov将为您提供文件和目录范围的条形报告、功能覆盖率统计数据和颜色编码的源文件浏览,以显示覆盖率(绿色表示已执行,红色表示未执行…)。 lcov在Linux上很容易,但可能需要在Cygwin上进行一些perl黑客攻击。我个人在Windows上执行脚本时遇到了一些问题(lcov是用perl实现的)。我已经得到了一个黑客版本,但要提前警告。 另一种方法是在windows上执行gcov发射,并在Linux上执行lcov后处理,这肯定会开箱即用。 |
|
4
2
查看我们的 SD C++ Test Coverage 工具。它可以用于GCC和MSVC6。 它具有低开销的探测数据收集、覆盖在代码上的覆盖率数据的良好显示,以及跨方法/类/文件/目录级别的覆盖率汇总的完整报告生成。 编辑:2015年8月:现在通过Visual Studio 2015支持GCC5和各种MS方言。要在Linux下使用这些工具,您需要Wine,但这些工具提供了Linux原生sh脚本和基于Linux/Java的UI,因此该工具感觉就像那里的原生Linux工具。 |
|
|
5
0
我想我应该指定编译器——我们在Linux上使用gcc,在WIn32上使用MSVC 6(是的,我知道,它很旧,但它(主要)对我们有效)。 出于这个原因,gcov不适用于我们的Win32版本,Bullseye也不适用于Linux版本。 再说一次,也许我只需要在一个操作系统中覆盖。.. |
|
|
user869525 · 利用现有项目进行CppUnit测试 13 年前 |