如何在IDEA单元测试中使用Scanner获取输入内容

https://blog.csdn.net/Mr_Mocha/article/details/107518618

 

实际案例

复制代码
@Test
public void contextLoads() {
    Scanner scanner = new Scanner(System.in);

    while (true) {
        System.out.println("测试1");
        System.out.println("测试2");
        System.out.println("测试3");
        System.out.println("测试4");
        int selected = scanner.nextInt();
        System.out.println(selected);
    }
}
复制代码
如果不进行任何设置,上面的测试代码,则会一直挂起,无法获取到输入的内容。

 

解决方案

  • 首先找到编辑IDEA VM Options的入口

image

在文件的底部,添加以下内容

-Deditable.java.test.console=true

image

注意:重启IDEA

测试结果

image

 
 

 

 

 

 

或则

发现将@test改为main方法进行测试后,能够正常运行。

 

posted @ 2021-11-06 16:25  coulee  阅读(194)  评论(0编辑  收藏  举报