我们通过命令行工具以及CruiseControl.Net单元测试生成PartCover报告。这会生成一个xml文件,可以在cruisecontrol仪表板上很好地显示结果。包含的xslt变换仅显示单个类中的覆盖百分比。我们想知道究竟哪些线路未被覆盖。问题是当我们在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试图告诉我的内容。
感谢任何提前回复的人。
答案 0 :(得分:2)
我弄清楚为什么没有显示cs文件。 xml文件中的路径不正确,因为我们的测试项目是在一个不同的机器上构建的。 (partcover必须从pdb文件生成.cs文件路径吗?)一旦我搜索并替换了文件,将我们的subversion位置的基本目录切换到另一台机器上的基本目录,一切都很顺利。