如果我同时使用这两个语句
using Microsoft.VisualStudio.TestTools.UnitTesting;
using NUnit.Framework;
我收到一个错误Assert
方法。有人可以告诉我使用它的最佳方法是什么。
我应该更换每个Assert
方法如下?
NUnit.Framework.Assert.AreEqual(expectedResult, result);
正如 Jon Skeet 在他的评论中提到的,您应该只使用一个测试框架。他们在一起不会玩得很好。如果你想使用 NUnit,你应该,
- 删除你所有的
Microsoft.VisualStudio.TestTools.UnitTesting
使用语句。
- 删除对的引用
Microsoft.VisualStudio.QualityTools.UnitTestFramework
来自您的项目参考。
您的单元测试最终只会在测试适配器 MSTest 或 NUnit 之一下运行。每个测试框架的断言在断言失败时抛出不同的异常,并且每个测试运行程序都期望抛出自己的异常。如果您尝试在测试中使用 MSTest 断言并且测试失败,NUnit 将不会识别作为断言异常抛出的异常,因此它会将其报告为错误而不是测试失败。
您可能最终得到了两个测试框架,因为您创建了一个单元测试项目在 Visual Studio 中,然后将 NUnit 添加到其中。 NUnit 测试项目应该只是常规的类库。另一种选择是安装Visual Studio 的 NUnit 模板扩展这将添加一个NUnit 3 单元测试项目Visual Studio 的模板。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)