2010-07-27 50 views
3

摘要:我可以运行单元测试和代码覆盖,但报告只包含NUnit类,而不包括我的应用程序类。NUnit 2.5.6 + PartCover 2.0/4.0 =我的班级未显示

我以前成功使用过PartCover。现在不是这样。我尝试了最新的PartCover(4.0),降级到了下一个最新版本(2.0),两者都使用NUnit 2.5.6。

我在一些命名空间中创建了一个简单的.NET 4.0类库(也尝试使用具有一个类库的项目的Web应用程序),并且在另一个类的另一个库中创建了两个测试方法。

NUnit/PartCover安装正确;我可以在NUnit和PartCover中运行NUnit测试(我可以看到它们运行并说“2通过”),但报告只显示NUnit命名空间。 (是的,我正在使用+ []作为我的覆盖规则。)

任何想法?尽管我喜欢NUnit,但我希望看到我自己的类的覆盖范围:o)

而且我也试着对齐测试DLL和代码DLL命名空间,但没有成功。

编辑:我试着重新运行我以前工作的代码覆盖的样本从一年前;所有测试都会运行,但实际的项目命名空间不会显示。这里有一个提示,这似乎暗示它取决于你使用的NUnit版本:http://sourceforge.net/projects/partcover/forums/forum/605222/topic/3308367(是的,我已经尝试了appdomain-reporting复选框)

我试过NUnit 2.5.5.x和2.5。 6.x和两者都给了我相同的结果。

编辑:看来这叉的官方版本4.0似乎工作,虽然偶尔(谷歌的PartCover叉,我不能添加多个超链接)

+1

尝试NCover;)... – 2010-07-27 19:03:49

+7

我很乐意。发送您的信用卡信息,我马上开始:o) 说真的,我是一个开发小型低调项目的开发人员。 PartCover是伟大的,因为它是免费的,它用于为我工作;因此,我希望能够重新开始工作,而不是转向现在无法承受的东西。 – ashes999 2010-07-27 19:15:22

回答

1

疯狂。显然,在NUnit打印出总传递/失败的摘要并等待第二个“CoreProfiler已关闭”消息大约一秒钟后,按下键盘上的暂停/断点,使其全部工作。

当然,这不可能是真正的解决方案。当然,我可以制作一个批处理文件,在执行完NUnit后会睡1秒,但这似乎是一个重大的黑客攻击。

+0

我可以暂停但不能恢复 – 2010-08-03 03:54:35

+0

适用于我:/尝试使用此批处理文件(使用ping作为缓慢暂停)。只要告诉PartCover使用这个批处理文件而不是nunit-console.exe。 nunit-console.exe%REMEDAY !!%1%2%3%4%5%6%7%8%9 ping 127.0.0.1 -n 3> nul – ashes999 2010-08-03 17:22:48

1

正确的处理方法是将所需的运行时间添加到nunit的配置中。你会注意到NUnit运行在CLR 2.0而不是4.0。对这个问题有很多答案,但我首先发现this one。独自做这件事为我固定。请注意,您的运行时版本可能略有不同。您可能需要确认。