【问题标题】:C# .NET 4.0 Testing Framework?C# .NET 4.0 测试框架?
【发布时间】:2011-04-23 07:44:12
【问题描述】:

如果我没记错的话,NUnit 是单元测试的事实标准,但我刚刚下载了它,写了一个简单的测试,然后显然我必须启动 GUI 并加载我的 .exe组装,这根本失败了。

我尝试过编辑

C:\Program Files (x86)\NUnit 2.5.7\bin\net-2.0\nunit.exe.config

按照in this question的建议,但这也不起作用,所以我尝试下载nunit源代码并在vs2010中编译它,但它甚至没有编译。说找不到punit.framework.dll那个解决方案说“不包含 AllTestsExecuted 的定义”,所以我在这里有点沮丧。您认为 .net 4 会有一个易于使用和运行的框架,不是吗?

所以我的问题是,如何让 NUnit 正常工作,或者是否有其他框架可以减少我的痛苦?

【问题讨论】:

  • 当你说它“失败”时,你到底是什么意思?错误信息是什么?
  • NUnit 通常可以与 .NET 4.0 一起使用而不会出现任何问题。您是否在 64 位操作系统上运行?如果 exe 是为 x86 编译的,并且您尝试运行 64 位版本的 NUnit,它将拒绝加载您的程序集。
  • ReSharper 具有出色的 NUnit 集成和 in-VS 单元测试运行等功能。

标签: c# unit-testing frameworks .net-4.0


【解决方案1】:

您不必使用 NUnit GUI 来运行您的测试。您可以在 Visual Studio 中使用 TestDriven.NET。此外,如果你碰巧使用的是 Resharper,它有一个单元测试运行器,它也可以与 NUnit 一起使用。

【讨论】:

  • ReSharper 它是!我有它,但它没有安装……我觉得不需要它(反正直到现在)。
【解决方案2】:

对于 NUnit 的 GUI 测试运行器,请确保您选择了正确的框架版本。它在“文件”菜单中。如果您的测试或任何依赖项是 32 位的,请确保您运行的是 32 位版本的测试运行程序。

Testdriven.net 是一个更好的测试运行器,但我有时也喜欢使用 NUnit 的 GUI 运行器。

【讨论】:

  • 我看到的只有“新建”、“打开”和“退出”。其他一切都是灰色的。考虑到“打开”部分失败,我什至没有机会选择运行时。
  • 听起来像是 x86/x64 不匹配,但我有一段时间没有发生这种情况,不确定它是什么样子。
  • 是的..可能是,NUnit 甚至可以在 64 位模式下运行吗?
  • 有单独的二进制文件。 nunit.exe 适用于 64 位,nunit-x86.exe 适用于 32 位。
【解决方案3】:

我不是 C# 程序员(幸运的是 ;-))但我听说过关于 xUnit 的好消息。测试可以随心所欲地运行(命令行、GUI、Visual Studio 集成等),而且使用起来相当简单。

【讨论】:

    【解决方案4】:

    如果您使用 Visual Studio 2010,则可以使用 MSTest。只需单击 CTRL + ALT + R,它就会运行您的测试并在 Visual Studio 本身中显示结果。

    如果我没记错的话,同样的测试运行器也适用于 NUnit。

    【讨论】:

      【解决方案5】:

      NUnit 实际上使用起来非常简单,所以我会说你更有可能在某个地方犯了错误,而不是软件。

      请务必关注this guide

      • 确保您在正确的位置拥有 [TestFixture] 和 [Test] 属性以及所有引用的相关程序集。
      • 确保在 NUnit GUI 中加载正确的 dll。

      如果是 GUI 问题,您可以改用 Resharper 的单元测试功能。

      【讨论】:

      • 当我尝试加载我的程序集时,是 GUI 引发了错误。这就是我所遵循的指南。
      【解决方案6】:

      如果你没有做任何不寻常的事情,我推荐Microsoft's Unit Testing Framework。我发现它的 VS 集成太容易了,甚至不用担心 NUnit。我同意 NUnit 似乎是事实上的标准,但如果你正在寻找快速简单的东西。对于典型的 Visual Studio 程序员恕我直言,Microsoft 的方式是最简单的。

      【讨论】:

      • 我在Add Reference > .NET 下没有看到Microsoft.VisualStudio.TestTools.UnitTesting...它在哪里?
      • 对于 .NET 4,您实际上使用位于 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools 的 Microsoft.VisualStudio.QualityTools.UnitTestFramework .UnitTestFramework.dll。最简单的做法是添加一个新项目,并且有一个“测试”子类别,其中仅包含测试项目项目模板。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 2010-11-12
      • 2010-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多