我们正在通过命令行工具以及CruiseControl.Net单元测试生成PartCover报告。这将生成一个xml文件,该文件可以在cruisecontrol仪表板上很好地显示结果。包含的xslt转换仅向您显示单个类中的coverage百分比。我们想确切地知道哪些行未被覆盖。当我们在PartCover浏览器中打开报表并双击一个不向我们显示CS文件的方法时,问题就出了。我知道,由于以下原因,PartCover浏览器能够向您显示文件。

这是PartCover浏览器的屏幕截图,其中的代码行显示: http ://kjkpub.s3.amazonaws.com/blog/img/partcover-browse.png

该信息看起来应该对浏览器可用,因为报告包含以下内容:

<Method name="get_DeviceType" sig="Cathexis.IDBlue.DeviceType ()" bodysize="19" flags="0" iflags="0"> <pt visit="2" pos="0" len="1" fid="82" sl="35" sc="13" el="35" ec="14" /> <pt visit="2" pos="1" len="4" fid="82" sl="36" sc="17" el="36" ec="39" /> <pt visit="2" pos="5" len="2" fid="82" sl="37" sc="13" el="37" ec="14" /> </Method>

这:

<File id="66" url="D:\sandbox\idblue\idblue\trunk\software\code\driver\dotnet\Common\AsyncEventQueue.cs" />

我想做的就是查看测试用例中未涵盖的代码行,而不必弄清楚上面的xml试图告诉我什么。

感谢任何提前答复的人。

有帮助吗?

解决方案

我弄清楚了为什么没有显示CS文件。xml文件中的路径不正确,因为我们的测试项目是在与partcover不同的机器上构建的。(partcover可能必须从pdb文件生成.cs文件路径吗?)一旦我搜索并替换了文件,就将我们的subversion位置的基本目录切换到另一台计算机上的目录了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top