有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Unittest中测试StackOverflower错误

我试图构建一个类,如果您给它错误的输入,某个方法会抛出StackOverflowerError。如何测试此StackOverflower错误?我已经试过了

  @Test(expected = StackOverflowError.class)

  void testIfStackOverflowErrorOccurs(){
functionThatThrowsStackOverflowError(someInput);}

但这给了我一个错误,不起作用

Cannot resolve method 'expected'

共 (1) 个答案

  1. # 1 楼答案

    如果functionThatThrowsStackOverflowError方法抛出错误,那么您的测试用例应该可以工作

    您可以尝试以下示例,然后用functionThatThrowsStackOverflowError方法替换testMethod()以缩小根本原因

    @Test(expected = StackOverflowError.class)
    public void testError() {
        testMethod();
    }
    
    private void testMethod() {
        throw new StackOverflowError("Error!");
    }