如何让 IDEA单元测试中控制台支持 System.in 的输入

在IntelliJ IDEA 教育版进行单元测试时,控制台不支持 System.in 输入
我写的代码如下:
@Test
 void main() {
     Scanner scanner = new Scanner(System.in);
     int judge = 1;
     while (judge == 1)
     {
         int n = scanner.nextInt();
         System.out.println("输入的数为:" + n);
         if (n == 0)
             judge = 0;
     }
  }  
运行测试时,不能从控制台输入,并显示测试已通过
我希望能通过控制台输入能更灵活的测试数据。刚开始学习单元测试,多多指教!

在idea的配置文件中加 -Deditable.java.test.console=true

两个解决方案
1,将代码放到主函数main里面进行运行,不使用单元测试
2.修改配置文件,实际上是在idea的VM配置文件末尾加上一个-Deditable.java.test.console=true
在IDEA中点击help->Edit Custom Vm Options…,进入,在最后一行加入:-Deditable.java.test.console=true

img

img


保存最后重启idea即可,eclipse不会有这样的问题

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632