我遇到了我的项目问题。在Netbeans中运行时,用户交互似乎很好。但是,当我运行使用mvn测试它不。我看到了命令行菜单,但我没有提示做出选择。当我强制终止该项目时,出现“找不到线路”错误。Maven an java.io.scanner(System.in)
任何想法?我很难过。
不工作的线基本上是:
System.out.print("1) Print String\n"
+ "0) Exit\n"
+ "Enter Selection: ");
String line = (new java.util.Scanner(System.in)).nextLine();
我看到输出到这个类似:
1) Print String
0) Exit
但我没有看到“输入选择:”和它doesn提示输入字符串。我终止并得到“找不到线”,虽然我取消执行后,我看到整个字符串int他“测试结果窗口”。
虽然你说这是不正常的,有没有办法让用户与此交互?还是有更好的做法?我会假设,因为应用程序需要在mvn测试中运行,并且该分配需要用户交互,它至少需要某种形式的交互。 – Rjs222
1)使用户交互层尽可能薄。这可以很容易地测试其他所有内容。 2)具有创造性。您说这个任务需要用户交互,但您可以预先测试一些输入。如果System.in是您的输入机制,那只是一个流。建立你的类可以使用任何任意的流来输入。然后,您可以在测试期间提供您想要的任何类型的流,从而消除手动交互的需要。 –