使用 NUnit 时如何处理契约违规
How to handle contract violations when using NUnit
当运行在 VS 社区版中使用 NUnit3 测试适配器进行以下测试(使用 nunit-3.2)时:
class TestClass
{
[Test]
public void TestMethod()
{
Contract.Assert(false);
}
}
它只是冻结。通常,如果它发生在正常应用程序期间 运行 - 会有一个弹出窗口,其中包含是否失败或忽略违规的选项。
但如果它发生在测试代码中 - 如何处理这种情况并使测试失败(因为如果它是未处理的异常就会失败)?
解决方案是安装 Code Contracts for .NET 扩展。在它的参数中你可以select是否抛出异常。
当运行在 VS 社区版中使用 NUnit3 测试适配器进行以下测试(使用 nunit-3.2)时:
class TestClass
{
[Test]
public void TestMethod()
{
Contract.Assert(false);
}
}
它只是冻结。通常,如果它发生在正常应用程序期间 运行 - 会有一个弹出窗口,其中包含是否失败或忽略违规的选项。
但如果它发生在测试代码中 - 如何处理这种情况并使测试失败(因为如果它是未处理的异常就会失败)?
解决方案是安装 Code Contracts for .NET 扩展。在它的参数中你可以select是否抛出异常。