如何在使用NUnit时处理违反合同的行为
本文关键字:合同 处理 NUnit | 更新日期: 2024-07-23 04:42:45
在VS社区版中使用NUnit3测试适配器运行以下测试(使用nunit-3.2)时:
class TestClass
{
[Test]
public void TestMethod()
{
Contract.Assert(false);
}
}
它只是冻结了。通常情况下,如果它发生在正常应用程序运行期间,会弹出一个弹出窗口,其中包含失败还是忽略违规的选项。
但是,如果这种情况发生在测试的代码中,如何处理这种情况并使测试失败(就像如果是未处理的异常则会失败一样)?
解决方案是安装.NET扩展的代码契约。在其参数中,您可以选择是否引发异常。