2010-10-09 145 views
3

如果我没有弄错,NUnit是单元测试的事实上的标准,但是我刚刚下载了它,写了一个简单的测试,然后显然我必须启动GUI并加载我的组件,它简直失败了。C#.NET 4.0测试框架?

我试图编辑

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的工作,或者是否有另一个框架,会导致我没有痛苦?

+0

当你说它'失败'时,你究竟是什么意思?什么是错误信息? – Nobody 2010-10-09 22:19:10

+0

NUnit通常可以和.NET 4.0一起工作,没有任何问题。你在64位操作系统上运行吗?如果exe文件是为x86编译的,并且您试图运行64位版本的NUnit,它将拒绝加载您的程序集。 – 2010-10-09 22:23:59

+2

ReSharper具有出色的NUnit集成和运行中的VS单元测试等。 – 2010-10-09 22:24:56

回答

4

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

+0

ReSharper!我有它,但它没有安装...并不需要它(直到现在,无论如何)。 – mpen 2010-10-09 22:39:07

2

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

+0

我在'Add Reference> .NET'下看不到'Microsoft.VisualStudio.TestTools.UnitTesting' ...它在哪里? – mpen 2010-10-09 22:30:23

+0

对于.NET 4,实际上使用位于C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PublicAssemblies \ Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll中的Microsoft.VisualStudio.QualityTools.UnitTestFramework。最简单的做法是只添加一个新项目,还有一个“test”子类,其中只包含Test Project项目模板。 – 2010-10-11 01:45:30

0

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

确保你关注了this guide

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

如果它的GUI是问题,则可以使用Resharper的单元测试功能。

+0

这是当我尝试加载我的程序集时抛出错误的GUI。这是我遵循的指南。 – mpen 2010-10-09 22:32:24

0

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

如果我没有弄错,那么同样的测试运行者也会为NUnit工作。

1

我不是一个C#程序员(幸运;-)),但我听说过xUnit好东西。无论你想要什么,测试都可以运行(命令行,GUI,Visual Studio集成等等),它看起来合理简单易用。

1

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

Testdriven.net是一个更好的测试跑步者,但我也喜欢使用NUnit的GUI跑步者。

+0

我看到的只有“新建”,“打开”和“退出”。其他一切都变灰了。考虑到“打开”部分失败,我甚至没有机会选择运行时。 – mpen 2010-10-09 22:40:37

+0

听起来像一个x86/x64不匹配,虽然这在一段时间内没有发生过我不知道它是什么样子。 – 2010-10-09 22:43:02

+0

是啊。可以,NUnit甚至可以在64位模式下运行? – mpen 2010-10-09 23:30:42