Odkryłem, że wydaje się, że są to dwa główne sposoby testowania wyjątków:
Assert.Throws<Exception>(()=>MethodThatThrows());
[ExpectedException(typeof(Exception))]
Który z nich byłby najlepszy? Czy jedna oferuje przewagę nad drugą? Czy jest to po prostu kwestia osobistych preferencji?
ExpectedException
atrybutu, więc w przypadku wersji 3+ Assert.Throws
istotny jest tylko wariant.
Assert.That(() => MethodThatThrows(), Throws.Exception)