我如何使用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