Avatar ·

¿Cómo verificar en MSTest que un método lanza una excepción?

¡Hola a todos! Soy nuevo en pruebas unitarias en C# y uso MSTest. Tengo un método que, bajo ciertas condiciones, debe lanzar una excepción. Por ejemplo, este método simple de división: ```csharp public int Divide(int a, int b) { if (b == 0) throw new DivideByZeroException("¡No se puede dividir por cero!"); return a / b; } ``` Quiero escribir un test que verifique que al pasar b = 0 realmente se lanza DivideByZeroException. Pero no entiendo cómo hacerlo correctamente con Assert. Intenté envolver la llamada en try-catch y poner Assert.Fail, pero se ve muy torpe. Vi que en otros frameworks (por ejemplo, NUnit) hay un atributo especial [ExpectedException], pero en MSTest parece obsoleto o no funciona igual. Por favor, indíquenme cómo escribir correctamente y de forma elegante ese test en MSTest. ¿Quizás hay algún método especial de Assert para esto? Agradecería un ejemplo de código. <<>>

Uso de Assert.Thro