使用 FluentAssertions 断言异步异常和 paramName
Asserting async exception and paramName with FluentAssertions
我正在使用 FluentAssertions
。
对于同步测试,我可以这样写:
action.Should().Throw<ArgumentNullException>().And.ParamName.Should().Be("foo");
对于异步测试,我这样做:
await action.Should().ThrowAsync<ArgumentNullException>();
是否有方便的方法也可以断言 ParamName
,或者我必须通过包装在 try-catch 中手动完成?
尝试捕获异常断言,您应该可以像使用同步代码一样继续断言。
//...
var error = await act.Should().ThrowAsync<ArgumentNullException>();
error.And.ParamName.Should().Be("foo");
//...
我正在使用 FluentAssertions
。
对于同步测试,我可以这样写:
action.Should().Throw<ArgumentNullException>().And.ParamName.Should().Be("foo");
对于异步测试,我这样做:
await action.Should().ThrowAsync<ArgumentNullException>();
是否有方便的方法也可以断言 ParamName
,或者我必须通过包装在 try-catch 中手动完成?
尝试捕获异常断言,您应该可以像使用同步代码一样继续断言。
//...
var error = await act.Should().ThrowAsync<ArgumentNullException>();
error.And.ParamName.Should().Be("foo");
//...