如何在故障发生时退出测试
本文关键字:退出 测试 故障 | 更新日期: 2023-09-27 18:25:42
问题是:我需要退出带有失败消息的测试。使用Microsoft.VisualStudio.TestTools.UnitTesting
Assert.Fail("message");
通过try-catch被捕获。如何使用无法捕获的故障退出测试?
假设我的测试内部有这样的东西:...remoteServerEventHandler(e => /*some logic */ Assert.Fail("message"))
,但它通过serverEventHandler处理,而我只想在测试失败时退出。
在catch块中,最后应该写入throw
,它将在调用函数或下一个执行块中重新抛出相同的异常。
检查异常的类型,如果它是断言异常,则重新抛出。
try
{
// ...
Assert.Fail("message");
// ...
}
catch (Exception ex)
{
if (ex is AssertFailedException)
{
throw;
}
}
代码假设您使用的是MSTest。如果使用NUnit,请将AssertFailedException
更改为AssertionException
。