我正在编写一个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)程序?
由于
答案 0 :(得分:1)
如果它需要用户输入,那么它实际上不是单元测试 - 不要将其视为单独测试。
只需将其设为一个易于运行的简单程序,然后在需要时进行测试。将它包含在您的构建中是没有意义的,因此它应该按照不同的计划运行 - 不是每个构建,而是更符合您的开发过程 - 每天,每个新功能等。