Avatar ·

Como verificar se um método lança uma exceção no MSTest?

Olá a todos! Sou novo em testes unitários em C# e estou usando MSTest. Tenho um método que, sob certas condições, deve lançar uma exceção. Por exemplo, este método simples de divisão: ```csharp public int Divide(int a, int b) { if (b == 0) throw new DivideByZeroException("Não é possível dividir por zero!"); return a / b; } ``` Quero escrever um teste que verifique se, ao passar b = 0, realmente é lançada uma DivideByZeroException. Mas não consigo entender como fazer isso corretamente com Assert. Tentei envolver a chamada em try-catch e usar Assert.Fail, mas parece muito deselegante. Vi que em outros frameworks (como NUnit) existe um atributo especial [ExpectedException], mas no MSTest parece estar obsoleto ou não funciona da mesma forma. Por favor, me digam como escrever esse teste de forma correta e elegante no MSTest? Existe algum método Assert específico para isso? Agradeço por um exemplo de código. <<>>

Usando Assert.ThrowsException