调用 NUnit 断言方法时访问自定义异常代码
Accessing custom exception code when calling NUnit assert method
我有如下的单元测试方法。
[TestCase("test")]
[TestCase("")]
public void ParseResponse_InvalidResponse_ReturnsBusException(string responseMessage)
{
IResponseParser responseParser = new ResponseParser();
Assert.That(() => responseParser.parseHtmlResponse(responseMessage),
Throws.Exception.TypeOf<WebApiBusinessException>());
}
我的 WebApiBusinessException class 有一个自定义错误代码。我想添加另一个断言并读取抛出的业务异常的错误代码以确保它是预期的。我可以通过添加 try / catch 块来做到这一点。是否可以在没有 try / catch 的情况下做到这一点?
找到了
[TestCase("test")]
[TestCase("")]
public void ParseResponse_InvalidResponse_ReturnsBusException(string responseMessage)
{
IResponseParser responseParser = new ResponseParser();
Assert.That(() => responseParser.parseHtmlResponse(responseMessage),
Throws.Exception.TypeOf<WebApiBusinessException>()
.And.Property("ErrorCode").EqualTo("3"));
}
我有如下的单元测试方法。
[TestCase("test")]
[TestCase("")]
public void ParseResponse_InvalidResponse_ReturnsBusException(string responseMessage)
{
IResponseParser responseParser = new ResponseParser();
Assert.That(() => responseParser.parseHtmlResponse(responseMessage),
Throws.Exception.TypeOf<WebApiBusinessException>());
}
我的 WebApiBusinessException class 有一个自定义错误代码。我想添加另一个断言并读取抛出的业务异常的错误代码以确保它是预期的。我可以通过添加 try / catch 块来做到这一点。是否可以在没有 try / catch 的情况下做到这一点?
找到了
[TestCase("test")]
[TestCase("")]
public void ParseResponse_InvalidResponse_ReturnsBusException(string responseMessage)
{
IResponseParser responseParser = new ResponseParser();
Assert.That(() => responseParser.parseHtmlResponse(responseMessage),
Throws.Exception.TypeOf<WebApiBusinessException>()
.And.Property("ErrorCode").EqualTo("3"));
}