使用 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");

//...