Luc*_*cas 8 c# resharper nunit unit-testing
我正试图用C#进行单元测试.各种各样的人告诉我和NUnit一起去,因为它比MSTest好(显然,我不知道),并且它在我使用的ReSharper中也有很好的支持.
现在我从来没有在我的生活中写过单元测试(忍受我,我是大学生).ReSharper有这个很好的CreateUnitTests上下文菜单选项,我见过其他人(随便看看肩膀)用来取得巨大成功.右键单击一个方法,选择CreateUnitTests,然后在那里创建一个测试框架.你只需填写重要的位.
现在,当我尝试相同的时候,ReSharper希望我创建一个新的测试项目......当我让它时,它创建(我正在假设)一个MSTest项目,显然是一个MSTest测试模板.但是我已经有一个类libarary项目引用了"nunit.framework"并且有一些NUnit测试,ReSharper非常愿意运行它们.尽管如此,它只创建了MSTest测试模板,并且只在特殊的"测试项目"项目中创建.
我究竟做错了什么?我是做错了什么,还是创建了ReSharper无法实现的NUnit测试模板?我搜索了网并阅读了ReSharper和NUnit的文档,我仍然无法弄清楚这是否可能或者是什么.
如果有人能为我提供使用ReSharper + NUnit的指南,我将不胜感激.
编辑:我正在使用ReSharper 4.5和NUnit 2.5.3
编辑2:显然我是个白痴.CreateUnitTests不是ReSharper的一部分,而是Visual Studio的一部分,因此只能与MSTest一起使用.
Jas*_*ans 12
在Resharper创建的测试项目中,删除对Microsoft单元测试DLL的引用(我不记得手头的名称,但这是一个很长的名字).
然后添加一个新的引用--nunit.framework.dll,您应该在Add Reference对话框的第一个选项卡上找到它.
添加using NUnit.Framework到单元测试类文件.
然后,您需要更改属性:
[TestClass] to [TestFixture]
[TestMethod] to [Test]
Run Code Online (Sandbox Code Playgroud)
因此,如果您最终得到MSTest项目,请使用上述步骤来获取NUnit.
注意:Resharper 4.5以后确实具有运行MSTest和NUNit测试的本机支持.所以你可以试试.
您无需运行任何向导即可使用NUnit.您可以创建一个类库,添加对NUnit的引用,并使用相应的属性标记您的测试.奇才仅适用于MSTest,即便如此,也不是必需的.
完成单元测试后,ReSharper测试运行器将检测它们,在左侧边缘,您将获得一些允许您运行/调试测试的图标.请参阅此处的第一张图片以获取示例:
| 归档时间: |
|
| 查看次数: |
18003 次 |
| 最近记录: |