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