Я тестирую некоторые методы с помощью JUnit4, и когда я запускаю тестовый класс, моя программа останавливается на линии, где сканер требует ввода данных пользователем. Моя цель состоит в том, чтобы он не останавливался и проводил все тесты без ввода чего-либо в консоль.
Я пытался возиться с потоками ввода и вывода, но они происходят либо до, либо после того, как я запустилтест, а не во время.
Вот код, который я пытаюсь проверить:
String userName = theUsername;
String password = thePassword;
Scanner myInput = new Scanner();
/**
*the while loop tests to see if the given password is the password
*that is assosiated with that username
*/
while (!myUserList.get(userName).getMyPassword().contentEquals(password)) {
System.out.println("Wrong Credentials");
System.out.print("User Name:");
userName = myInput.next();
System.out.print("Password:");
password = myInput.next();
}
System.out.println("Login Successfull");
return true;
А вот тест, который я пытаюсь запустить:
public void testLoginIncorectPass() {
assertNotNull("testLogin return", reg.login(oldUser.getMyName(), "2"));
}
Когда я его запускаю, тест проводится правильно, но он застревает на
username = myInput.next();
и не завершится, пока я не введу что-либо.