我的visual studio项目中有一个MSTest代码覆盖设置。但是,当代码覆盖率运行时,它会生成一个太大的覆盖文件(数据。覆盖率)。原因是它扫描所有dll,第三方库。我的项目有一些C ++解决方案,它为头文件中的所有方法生成代码覆盖。请注意,在我的testsetting(local.testsettings,这是当前活动的)中,我只选择了一个xyz.dll(我想要获得代码覆盖的那个)。但是,最终的代码覆盖率包含xyz.dll所依赖的代码覆盖率信息。如何配置,MSTest使得我没有得到超出xyz.dll边界的代码覆盖率? 注意:当我尝试使用Hudson emma插件生成xml报告时,拥有一个大的data.coverage文件会导致问题。最终的xml约为750MB
答案 0 :(得分:0)
测试覆盖率工具如何表示其记录的数据(探测位置,探测命中)显然会对收集的测试覆盖率数据的可管理性产生影响。
我不能说MS如何编码这些数据,但很明显你对结果不满意。 我同意750Mb的输出似乎有点过头了。
问题可能是你只是简单地获得了每个方法/功能 只希望DLL检测。我建议你寻找一个开关来控制装备的东西。我无法帮助您进一步使用MS工具。
我们的C++ Test Coverage会让您指定 您想要检测的文件。它确实生成一个探针位置文件,每个探针有一个条目,但它的大小与检测的代码量成正比,并且它不是一个庞大的XML文件。一百万行检测代码生成几兆字节的探测位置文件。在执行时,您生成探测命中数据;在最坏的情况下,导出的是以字节为单位测量的,对于每个探测器来说几乎都不是,如果覆盖范围低或高,则导出的数量要小得多。对于相同的百万行,我希望这是另一个兆字节。
配置我们的工具以检测DLL可能需要更多的努力; MS具有控制编译器的优势,但我们没有。这似乎是一个很小的代价,以获得一个有用的答案。