TeamCity代码覆盖C ++代码

时间:2013-08-20 08:13:15

标签: unit-testing teamcity code-coverage dotcover

我们有一个使用C#,C ++ / Cli和一些原生C ++代码的项目。我们使用TeamCity进行构建和测试。

我们使用vstest.console(VS2012测试运行器)运行测试。

对于托管代码,dotCover(集成到TeamCity中)用于代码覆盖。但是,它不适用于本机C ++代码(这是预期的)。

如何获得代码覆盖率结果我们对原生C ++部分的单元测试进入TeamCity?理想情况下,解决方案是免费的。

1 个答案:

答案 0 :(得分:7)

我们使用Bullseye Coverage进行C ++代码覆盖。然后,我们使用提供的covxml工具将二进制覆盖文件转换为XML文件,然后我们为函数和条件覆盖读出一堆有用的属性(例如fn_totalfn_covcd_totalcd_cov)并使用statistics service messages通过predefined coverage keys向TeamCity提供这些内容。

设置它需要做一些工作,但我认为TeamCity仍然不支持任何C ++覆盖工具,因此我们的解决方案在多年后仍然适用于我们。

修改:我已将内部工具的XML parsing code上传到Gist。