public void DoesThrow_WrappedInAction_ThrowInvalidOperationException() { // Arrange var subject = new Thrower(); // Act Action act = () => subject.DoesThrow(); // Assert act.Should().Throw <InvalidOperationException>(); }
public void DoesThrow_ThrowInvalidOperationAdvanced() { // * Throw InvalidOperationException, // * which exception message contains "foobar" // * the InvalidOperationException has an InnerException, // * which is exactly DivideByZeroException, // * which exception message contains "Dark Side" // Arrange var subject = new Thrower(); // Act Action act = () => subject.DoesThrow(); // Assert act.Should().Throw <InvalidOperationException>() .WithMessage("*foobar*") .WithInnerExceptionExactly <DivideByZeroException>() .WithMessage("*Dark Side*"); }