我们有一个使用C#、C++/Cli和一些本地C++代码的项目。我们使用TeamCity进行构建和测试。
我们使用vstest.console (VS2012测试运行程序)运行测试。
对于托管代码,dotCover (集成到TeamCity中)用于代码覆盖率。但是,它不适用于本机C++代码(这是意料之中的)。
如何将代码覆盖率结果--我们对本机C++部件的单元测试--转换为TeamCity?理想情况下,解决方案将是免费的。
发布于 2013-08-20 10:49:18
我们使用牛眼覆盖进行C++代码覆盖。然后,我们使用提供的covxml工具将二进制覆盖文件转换为XML文件,然后读取函数和条件覆盖(例如fn_total、fn_cov、cd_total、cd_cov)的一系列有用属性,并使用预定义覆盖键通过统计服务消息将这些属性提供给TeamCity。
这需要做一些工作,但我认为TeamCity仍然不支持任何C++覆盖工具,所以我们的解决方案在几年后仍能很好地工作。
编辑:,我已经将我们内部工具的XML上传到Gist了。
https://stackoverflow.com/questions/18330080
复制相似问题