通常、あるメソッドで例外がスローされた場合は、次のようにテストします。例外がコンストラクタでスローされます場合は、コンストラクタが例外をスローするかどうかテストするのに適していますか?
[Fact]
public void Exception_gets_thrown()
{
// Arrange
var foo = new Foo("validArgument");
// Act/Assert
foo.Invoking(f => f.Bar(null)) // null is an invalid argument
.ShouldThrow<ArgumentNullException>();
}
しかし、どのようにテストする: 私はFluentAssertionsを使うのか? 私はこれを好きにしましたが、より適切な方法があるでしょう via FluentAssertions?
あなたは例外をテストすることになっていると、それはShouldThrow<T>()
と
ShouldNotThrow<T>()
が最初の場所でのために設計されたものです正確にどのようにだ
[Fact]
public void Constructor_throws_Exception()
{
// Arrange
Action a =() => new Foo(null); // null is an invalid argument
// Act/Assert
a.ShouldThrow<ArgumentNullException>();
}
私は図書館を知らないが、私はあなたが –