使用Intellij和JUnit从控制台读取System.in

时间:2016-07-20 13:35:08

标签: java intellij-idea junit console

以下代码通过Idea

中的main运行代码时效果很好
System.in.read()

然而,junit方法中的相同代码无法正常工作

public void testConsoleRead()
{
  System.in.read();
}

任何想法如何使这项工作,或类似的东西?

2 个答案:

答案 0 :(得分:0)

您需要使用-Deditable.java.test.console=true启动IDE(例如,通过“帮助”>“编辑自定义VM选项...”),请参阅this comment

答案 1 :(得分:-1)

您需要使用Scanner类。

首先导入它:

import java.util.Scanner

现在使用它:

Scanner scanner = new Scanner(System.in);
String text = scanner.next();
scanner.close();

您应该查看更多类似scanner.nextLine();的方法。

此外,您可能需要在此处理一些例外情况,但这并不难理解。