例外をテストする主な方法は次の 2 つであることがわかりました。
Assert.Throws<Exception>(()=>MethodThatThrows());
[ExpectedException(typeof(Exception))]
これらのうちどれが一番良いでしょうか? どちらかが他方よりも優れているのでしょうか? それとも単に個人の好みの問題でしょうか?
ベストアンサー1
主な違いは次のとおりです。
ExpectedException()
属性は例外が発生した場合にテストをパスしますどれでもテスト メソッド内の場所。
を使用すると、例外が予想されるコードの場所Assert.Throws()
を指定できます。exact
NUnit 3.0 では公式サポートがExpectedException
完全に廃止されます。
したがって、私は属性Assert.Throws()
よりもメソッドを使用することを強くお勧めしますExpectedException()
。