使用Scanner的时候,发现无法在控制台中输入,不报错
测试代码如下:
@Test
public void test03(){
Scanner scanner = new Scanner(System.in);
String next = scanner.next();
System.out.println(next);
}
发现是使用了Junit单元测试,后将 @Test 改为在 main()方法进行测试后,能够正常运行
修改代码如下
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String next = scanner.next();
System.out.println(next);
}

这篇博客探讨了在使用JUnit进行单元测试时遇到Scanner无法读取控制台输入的问题。作者通过修改代码,将@Test注解改为在main方法中执行,成功解决了问题。这表明在Junit测试环境下,直接从System.in读取输入可能不可靠,建议在测试用例中提供模拟输入或者使用不同的测试策略。
1332

被折叠的 条评论
为什么被折叠?



