代码之家  ›  专栏  ›  技术社区  ›  ashes999

nunit 2.5.6+partcover 2.0/4.0=未显示我的课程

  •  3
  • ashes999  · 技术社区  · 15 年前

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

    我过去成功地使用了partcover。这次不是这样。我尝试了最新的partcover(4.0),降级到下一个最新的partcover(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报告复选框)

    我试过nunit 2.5.5.x和2.5.6.x,结果都一样。

    编辑: 官方4.0版本的这个分支似乎可以工作,尽管偶尔会工作(谷歌的partcover fork,我不能添加更多的超链接)

    2 回复  |  直到 15 年前
        1
  •  1
  •   ashes999    15 年前

    疯狂。很明显,在nunit之后按键盘上的pause/break键会打印出总通过/失败的摘要,并等待大约一秒钟等待第二条“coreprofiler is off”(coreprofiler已关闭)消息,这一切都会正常工作。

    当然,这不是真正的解决方案。当然,我可以安装一个批处理文件,在执行nunit后1秒钟就会休眠,但这似乎是一个主要的黑客。

        2
  •  1
  •   Community Mohan Dere    9 年前

    正确的处理方法是将所需的运行时添加到nunit的配置中。您会注意到nunit运行在clr 2.0而不是4.0中。关于这个问题有很多答案,但是我发现 this one 第一。一个人做这件事就帮我修好了。注意,运行时的版本可能略有不同。您可能需要确认。

    推荐文章