我正在尝试使用 C# 进行单元测试。很多人告诉我使用 NUnit,因为它比 MSTest 更好(显然,我不知道),而且它在我正在使用的 ReSharper 中也有很好的支持。
现在我以前从未编写过单元测试(请耐心等待,我是一名大学生)。 ReSharper 有一个很好的 CreateUnitTests 上下文菜单选项,我看到其他人(不经意地回头看)使用它取得了巨大的成功。您右键单击方法,选择 CreateUnitTests,然后就创建了一个测试框架。您只需填写重要的部分即可。
现在,当我尝试相同的操作时,ReSharper 希望我创建一个新的测试项目...当我允许它时,它会创建(我假设的)一个带有明显 MSTest 测试模板的 MSTest 项目。但我已经有一个类库项目,它引用“nunit.framework”,并且有一些 ReSharper 非常愿意运行的 NUnit 测试。尽管如此,它仅创建 MSTest 测试模板,并且仅在特殊的“测试项目”项目中。
我究竟做错了什么?我是否做错了什么,或者使用 ReSharper 无法创建 NUnit 测试模板?我搜索过网络并阅读了 ReSharper 和 NUnit 的文档,但我仍然不知道这是否可能或是什么。
如果有人能为我提供使用 ReSharper + NUnit 的指南,我将不胜感激。
编辑:我正在使用 ReSharper 4.5 和 NUnit 2.5.3
EDIT2:显然我是个白痴。 CreateUnitTests 不是 ReSharper 的一部分,而是 Visual Studio 的一部分,因此只能与 MSTest 配合使用。
在 Resharper 创建的测试项目中,删除对 Microsoft 单元测试 DLL 的引用(我不记得这个名称了,但它是一个很长的名称)。
然后添加一个新的引用 - nunit.framework.dll,您应该在“添加引用”对话框的第一个选项卡上找到它。
Add using NUnit.Framework
到单元测试类文件。
然后您需要更改属性:
[TestClass] to [TestFixture]
[TestMethod] to [Test]
因此,如果您最终得到了 MSTest 项目,请使用上述步骤来获取 NUnit。
注意:Resharper 4.5 及以上版本确实支持运行 MSTest 以及 NUNit 测试。所以你可以尝试一下。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)