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