You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用FluentAssertions如何断言异步抛出异常的ParamName参数

FluentAssertions 异步场景异常参数名校验方法

FluentAssertions 本身已经内置了对应的便捷校验能力,无需手动封装 try-catch 实现。
异步场景下和同步写法逻辑完全一致,ThrowAsync 等待后返回的断言对象与同步Throw返回的类型完全相同,支持所有同步场景下的异常属性校验链式操作。

两种推荐写法:

  • 更简洁的内置方法写法:
await action.Should().ThrowAsync<ArgumentNullException>().WithParameterName("foo");
  • 与同步写法对齐的显式属性校验写法:
(await action.Should().ThrowAsync<ArgumentNullException>()).And.ParamName.Should().Be("foo");

注意:第二种写法需要给 await 的整体表达式加括号,否则编译器会把.And识别为 awaitable 对象的属性,导致编译报错。

内容的提问来源于stack exchange,提问作者lonix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 11:09:00