C# NUnit和NSubstitute无法正确捕获unittest中的异常

C# NUnit和NSubstitute无法正确捕获unittest中的异常,c#,nunit,nsubstitute,C#,Nunit,Nsubstitute,我有一个使用NUnit和NSubtitute的单元测试,代码如下: client.Read(Arg.Any<DATA>()).Throws(new Exception()); var response = service.Read() 执行service.Read()时,它将调用client.Read(),然后转到service.Read()的捕获。但是,此时由于抛出系统异常,unittest停止,my unittest停止运行。如何“捕获”此问题并继续我的单元测试?捕获抛出的异

我有一个使用NUnit和NSubtitute的单元测试,代码如下:

client.Read(Arg.Any<DATA>()).Throws(new Exception());

var response = service.Read()

执行service.Read()时,它将调用client.Read(),然后转到service.Read()的捕获。但是,此时由于抛出系统异常,unittest停止,my unittest停止运行。如何“捕获”此问题并继续我的单元测试?

捕获抛出的异常并断言预期的行为

例如,您可以使用
Assert.Throws

/。。。
Read(Arg.Any()).Throws(newexception());
//表演
Action act=()=>var response=service.Read();
//断言
MessageException ex=Assert.Throws(act);
//…断言预期行为的异常
try
{
   var clientRead = client.Read();
}
catch (Exception ex)
{
   throw MessageException(ex);
}
//...

client.Read(Arg.Any<DATA>()).Throws(new Exception());

//Act
Action act = () => var response = service.Read();

//Assert
MessageException ex = Assert.Throws<MessageException>(act);
//...assert the exception for expected behavior