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

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


  • 版本信息:

image

实际案例

复制代码
@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

posted @   我命由我不由天—hao  阅读(952)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示