Descobri que essas parecem ser as duas principais maneiras de testar exceções:
Assert.Throws<Exception>(()=>MethodThatThrows());
[ExpectedException(typeof(Exception))]
Qual destes seria o melhor? Um oferece vantagens sobre o outro? Ou é simplesmente uma questão de preferência pessoal?
ExpectedException
atributo, portanto, para a versão 3+, apenas a Assert.Throws
variante é relevante.
Assert.That(() => MethodThatThrows(), Throws.Exception)