【问题标题】:NUnit 2.5.6 + PartCover 2.0/4.0 = My Classes Not ShownNUnit 2.5.6 + PartCover 2.0/4.0 = 我的课程未显示
【发布时间】:2010-07-27 19:02:23
【问题描述】:

总结:我可以运行单元测试和代码覆盖,但报告只包括 NUnit 类,而不包括我的应用程序类。

我过去曾成功使用过 PartCover。这次不是这样。我尝试了最新的 PartCover (4.0),降级到下一个最新的 (2.0),都使用 NUnit 2.5.6。

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

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

有什么想法吗?尽管我很喜欢 NUnit,但我希望看到我自己的课程的覆盖范围 :o)

我还尝试了对齐 test-DLL 和 code-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 版本的这个分支似乎可以工作,尽管偶尔会起作用(Google for PartCover fork,我无法添加更多超链接)

【问题讨论】:

  • 我愿意。发送您的信用卡信息,我会立即开始 :o) 说真的,我是一个开发小型、低调项目的开发人员。 PartCover 很棒,因为它是免费的,而且它曾经为我工作;因此,我想让它再次工作,而不是换成我现在买不起的东西。

标签: c# .net visual-studio-2010 nunit partcover


【解决方案1】:

疯狂。显然,在 NUnit 打印出总通过/失败的摘要后按键盘上的 Pause/Break,并等待大约一秒钟以等待第二个“CoreProfiler 已关闭”消息,一切正常。

当然,这不可能是真正的解决方案。当然,我可以构建一个批处理文件,它会在执行 NUnit 后约 1 秒休眠,但这似乎是一个重大的 hack。

【讨论】:

  • 为我工作:/ 试试这个批处理文件(使用 ping 作为缓慢的暂停)。只需告诉 PartCover 使用这个批处理文件而不是 nunit-console.exe。 nunit-console.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 REM 睡眠!! ping 127.0.0.1 -n 3 > nul
【解决方案2】:

处理此问题的正确方法是将所需的运行时添加到 nunit 的配置中。您会注意到 NUnit 在 CLR 2.0 而不是 4.0 中运行。 SO上有很多关于这个问题的答案,但我首先找到了this one。单独做这件事为我解决了这个问题。请注意,您的运行时版本可能略有不同。您可能需要确认。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    • 2011-09-01
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多