我如何使用ReSharper创建NUnit测试?

我正在尝试使用C#进行单元测试。 不同的人告诉我要使用NUnit,因为它比MSTest更好(显然,我不知道),并且它在我正在使用的ReSharper中也有很好的支持。

现在,我从未在我的生活中写过单元测试(与我一起,我是一名大学生)。 ReSharper有这个很好的CreateUnitTests上下文菜单选项,我已经看到其他人(随便看肩膀)使用取得巨大成功。 你右键点击一个方法,选择CreateUnitTests,然后你就可以创建一个测试框架。 你只需填写重要的部分。

现在,当我尝试使用相同的方法时,ReSharper希望我创建一个新的测试项目......并且当我放弃它时,它会创建(我所假设的)一个MSTest项目,并带有一个MSTest测试模板。 但我已经有了一个引用“nunit.framework”的类libarary项目,并且有几个NUnit测试,ReSharper更愿意运行。 不过,它只能创建MSTest测试模板,并且只能在特殊的“测试项目”项目中使用。

我究竟做错了什么? 我是否做错了什么,或者正在创建ReSharper不可能的NUnit测试模板? 我搜索了网络,阅读了ReSharper和NUnit的文档,我仍然无法弄清楚这是甚至可能的或什么。

如果有人能够提供给我一个使用ReSharper + NUnit的指导,我会很感激。

编辑:我使用ReSharper 4.5和NUnit 2.5.3

编辑2:显然我是个白痴。 CreateUnitTests不是ReSharper的一部分,而是Visual Studio的一部分,因此只能用于MSTest。


在您的Resharper创建的测试项目中,删除对Microsoft单元测试DLL的引用(我不记得这个名字,但名字相当长)。

然后添加一个新的引用 - nunit.framework.dll,你应该在添加引用对话框的第一个选项卡上找到它。

using NUnit.Framework添加到单元测试类文件。

然后您需要更改属性:

[TestClass] to [TestFixture]
[TestMethod] to [Test]

所以,如果你最终得到一个MSTest项目,使用上述步骤来获得NUnit。

注意:Resharper 4.5以上版本对运行MSTest以及NUNit测试具有本地支持。 所以你可以尝试一下。


你不需要运行任何向导来使用NUnit。 您可以创建一个类库,添加对NUnit的引用,并用相应的属性标记您的测试。 奇才仅适用于MSTest,即使如此,也不是必需的。

一旦你进行了单元测试,ReSharper测试运行器就会检测到它们,在左边空白处你会看到一些图标,这些图标可以让你运行/调试测试。 看到这里的第一张图片为例:

NUnit和ReSharper

链接地址: http://www.djcxy.com/p/51765.html

上一篇: How can I create NUnit tests with ReSharper?

下一篇: Resharper Unit Test Runner significantly slower than NUnit console