如何对包含try / catch块的方法进行单元测试

时间:2018-08-23 14:16:28

标签: java junit try-catch

我必须测试负责接受输入的方法。 它包含尝试/捕获块。我应该单元测试吗?如果是这样,该怎么做?

static String takeStringInput(Scanner input, String label) {
    while (true) {
        try {
            System.out.println(label + ": ");
            return input.next();
        } catch (InputMismatchException e) {
            System.out.println("Try again, bad input");
            input.next();
        }
    }
}

模拟扫描仪是不可能的,因为不可能模拟最终课程。

1 个答案:

答案 0 :(得分:0)

模拟扫描仪(也许使用Mockito)以返回有效值。这将测试“幸福之路”。然后,修改模拟,使其返回异常,然后返回有效值。