【发布时间】:2020-08-10 10:22:36
【问题描述】:
例如,我的单元测试中有以下代码。
Action act = () => subject.Foo2("Hello");
act.Should().Throw<InvalidOperationException>()
在断言之后,我想对抛出的异常运行几个处理步骤,并对处理结果进行断言。例如:
new ExceptionToHttpResponseMapper()
.Map(thrownException)
.HttpStatusCode.Should().Be(Http.Forbidden);
我可以写一个 try-catch 之类的,
var thrownException;
try
{
subject.Foo2("Hello");
}
catch(Exception e)
{
thrownException = e;
}
// Assert
但我想知道是否有更好的方法。
【问题讨论】:
-
快速查看这里的文档fluentassertions.com/exceptions
-
And和Which似乎可以访问抛出的异常。 -
地图返回什么类型?
标签: c# unit-testing fluent-assertions