首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JUnit测试抛出异常的错误形式?

在Java中,JUnit测试抛出异常的错误形式通常是使用assertThrows方法。assertThrows方法接受两个参数:一个是预期抛出的异常类型,另一个是一个Lambda表达式,该表达式包含可能抛出异常的代码。如果Lambda表达式抛出了预期的异常类型,则测试通过;否则,测试失败。

例如,假设我们要测试一个方法divide(int a, int b),该方法返回两个整数的商,但在除数为0时会抛出ArithmeticException异常。我们可以使用assertThrows方法来测试这个方法是否正确抛出异常:

代码语言:java
复制
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class DivisionTest {
    @Test
    public void testDivideByZero() {
        Assertions.assertThrows(ArithmeticException.class, () -> divide(10, 0));
    }
}

在这个例子中,assertThrows方法接受两个参数:预期抛出的异常类型ArithmeticException.class和一个Lambda表达式() -> divide(10, 0),该表达式调用divide方法并传入两个参数10和0。由于除数为0,divide方法会抛出ArithmeticException异常,因此assertThrows方法预期的异常类型与实际抛出的异常类型相同,测试通过。

需要注意的是,如果Lambda表达式没有抛出预期的异常类型,assertThrows方法会抛出AssertionError异常,因此我们需要确保测试代码能够正确处理这种情况。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券