Avatar ·

如何正确验证方法在JUnit中抛出特定异常?

大家好!我刚开始学习Java,正在为我的项目编写单元测试。我有一个方法,当传入无效数据时应该抛出IllegalArgumentException。我想编写一个测试来验证异常确实被抛出,但一直没搞明白如何正确实现。 以下是我的方法示例: ```java public class Calculator { public int divide(int a, int b) { if (b == 0) { throw new IllegalArgumentException("除数不能为零"); } return a / b; } } ``` 我尝试这样写测试: ```java @Test public void testDivideByZero() { Calculator calc = new Calculator(); calc.divide(10, 0); // 这里直接抛出异常 } ``` 但测试失败并报错,而不是通过。我了解到可以使用`@Test(expected = ...)`,但不确定这是否是最佳方式。我还看到测试中使用try-catch块,但这看起来太冗长了。