NUnit Assert.Throws メソッドまたは ExpectedException 属性を使用しますか? 質問する

NUnit Assert.Throws メソッドまたは ExpectedException 属性を使用しますか? 質問する

例外をテストする主な方法は次の 2 つであることがわかりました。

Assert.Throws<Exception>(()=>MethodThatThrows());

[ExpectedException(typeof(Exception))]

これらのうちどれが一番良いでしょうか? どちらかが他方よりも優れているのでしょうか? それとも単に個人の好みの問題でしょうか?

ベストアンサー1

主な違いは次のとおりです。

ExpectedException()属性は例外が発生した場合にテストをパスしますどれでもテスト メソッド内の場所。
を使用すると、例外が予想されるコードの場所Assert.Throws()を指定できます。exact

NUnit 3.0 では公式サポートがExpectedException完全に廃止されます。

したがって、私は属性Assert.Throws()よりもメソッドを使用することを強くお勧めしますExpectedException()

おすすめ記事