我遇到了我的項目問題。在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是您的輸入機制,那只是一個流。建立你的類可以使用任何任意的流來輸入。然後,您可以在測試期間提供您想要的任何類型的流,從而消除手動交互的需要。 –