如何使用 FluentAssertions 版本 4.x 断言异常?

How to assert exceptions with FluentAssertions version 4.x?

我正在研究使用 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("...");
}

回答我自己的问题。就这么简单:

[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("...");
}