Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#.NET4.0测试框架?_C#_Unit Testing_Frameworks_.net 4.0 - Fatal编程技术网

C#.NET4.0测试框架?

C#.NET4.0测试框架?,c#,unit-testing,frameworks,.net-4.0,C#,Unit Testing,Frameworks,.net 4.0,如果我没有弄错的话,NUnit实际上是单元测试的标准,但我刚刚下载了它,编写了一个简单的测试,然后显然我必须启动GUI并加载我的.exe程序集,但它失败了 我试着编辑 C:\Program Files (x86)\NUnit 2.5.7\bin\net-2.0\nunit.exe.config 正如建议的那样,但这也不起作用,所以我尝试下载nunit源代码并在vs2010中编译,但它甚至没有编译。说找不到punit.framework.dll。这个解决方案说“不包含AllTestsExecut

如果我没有弄错的话,NUnit实际上是单元测试的标准,但我刚刚下载了它,编写了一个简单的测试,然后显然我必须启动GUI并加载我的
.exe
程序集,但它失败了

我试着编辑

C:\Program Files (x86)\NUnit 2.5.7\bin\net-2.0\nunit.exe.config
正如建议的那样,但这也不起作用,所以我尝试下载nunit源代码并在vs2010中编译,但它甚至没有编译。说找不到
punit.framework.dll
。这个解决方案说“不包含AllTestsExecuted的定义”,所以我在这里有点沮丧。你会认为会有一个易于使用和运行的.NET4框架,不是吗


所以我的问题是,如何让NUnit工作,或者是否有另一个框架可以让我不那么痛苦?

您不必使用NUnit GUI来运行测试。您可以从VisualStudio中使用。另外,如果您碰巧正在使用Resharper,那么它有一个单元测试运行程序,它也可以与NUnit一起使用。

如果您没有做任何不寻常的事情,我建议。我发现这太容易了,甚至不用担心它。我同意NUnit似乎是事实上的标准,但如果你想找一些快速简单的东西。对于一个典型的VisualStudio程序员来说,微软的方法是最简单的。

NUnit实际上使用起来非常简单,因此我想说的是,更可能是您在某个地方犯了错误,而不是软件

一定要跟上

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

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

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


如果我没有弄错的话,同一个测试运行程序也将为NUnit工作。

我不是一个C#程序员(幸运的是;-),但我听说了一些好消息。测试可以按照您的意愿运行(命令行、GUI、Visual Studio集成等),而且使用起来非常简单。

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


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

当你说它“失败”时,你的确切意思是什么?错误消息是什么?NUnit通常与.NET 4.0一起工作,没有任何问题。您是否在64位操作系统上运行?如果exe是为x86编译的,并且您试图运行64位版本的NUnit,它将拒绝加载您的程序集。ReSharper具有出色的NUnit集成和VS单元测试运行等功能。我没有看到
Microsoft.VisualStudio.TestTools.UnitTesting下的
添加引用>.NET
。。。它在哪里?对于.NET 4,您实际使用的是位于C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblys\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll的Microsoft.VisualStudio.QualityTools.UnitTestFramework。最简单的方法是添加一个新项目,其中有一个子类别“test”,它只包含测试项目模板。当我尝试加载程序集时,GUI会抛出错误。这就是我一直在遵循的指南。是的!我有它,但它没有安装…我不觉得有必要它(直到现在,无论如何)。我看到的是“新”,“开放”和“退出”。其他一切都是灰色的。考虑到“开放”部分失败了,我甚至没有机会选择运行时。听起来像是x86/x64不匹配,虽然我已经有一段时间没有发生过这种情况了,但我不确定它是什么样子。是的……可能是,NUnit甚至可以在64位模式下运行吗?有单独的二进制文件。nunit.exe代表64位,nunit-x86.exe代表32位。