如何使用 FluentAssertions 4.x 版断言异常?
Posted
技术标签:
【中文标题】如何使用 FluentAssertions 4.x 版断言异常?【英文标题】:How to assert exceptions with FluentAssertions version 4.x? 【发布时间】:2020-02-21 15:06:00 【问题描述】:我正在研究使用FluentAssertions-4.8.0
的更大解决方案。
由于我目前没有时间升级到最新版本(撰写本文时为 5.9.0),我想知道如何在上述版本中声明异常。
我知道它在 5.x 中是如何完成的,但我如何在 4.x 中断言异常?
[Fact]
public void Should_Throw_InvalidOperationException_If_...()
// Arrange
var resolver = new SomeResolver();
var foo = new Foo();
Action act = () => resolver.DoSomething(foo);
// Act & Assert
act.Should().Throw<InvalidOperationException>.WithMessage("...");
【问题讨论】:
在此查看建议***.com/a/45037703/5233410 【参考方案1】:回答我自己的问题。就这么简单:
[Fact]
public void Should_Throw_InvalidOperationException_If_...()
// Arrange
var resolver = new SomeResolver();
var foo = new Foo();
Action act = () => resolver.DoSomething(foo);
// Act & Assert
act.ShouldThrow<InvalidOperationException>().WithMessage("...");
【讨论】:
以上是关于如何使用 FluentAssertions 4.x 版断言异常?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 FluentAssertions 检查对象是不是从另一个类继承?
如何在 FluentAssertions 中使用“Which”?