我正在编写一个必须等待用户输入才能运行的 JUnit 测试;场景是这样的:
- 开始运行测试
- 等待一些无法自动化/模拟的外部操作完成;用户必须执行一些手动活动,然后通知测试继续
- 继续运行
我试着用
System.out.println( "Press enter to continue" );
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
reader.readLine();
System.out.println( "Resuming..." );
但它不起作用,因为 System.in 在测试中似乎不接受来自键盘的输入。
我知道这不是一个典型的/正统的单元测试,但我想将它编码为一个,因为这样可以方便地使用 Maven 来测试各种案例。
我可以这样做吗,或者我应该将我的测试转移到一个正常的(即非Junit)程序?
谢谢