В идеале ваш код должен быть написан так, чтобы его можно было легко протестировать, а метод ввода не имеет значения. Это означает, что входные данные должны быть отделены от бизнес-логики c, чтобы при написании тестов можно было полностью игнорировать входную часть.
Например, вместо того, чтобы иметь глобальный Scanner
и что-то вроде следующего, что делает метод зависимым от метода ввода
public void login() {
String username = scanner.nextLine();
// check that the username is valid
}
, более тестируемый метод без каких-либо зависимостей от метода ввода будет
public void login(String username) {
// check that the username is valid
}
и убедитесь, что Вы понимаете, что является правильным модульным тестом. Для этого метода очевидные тесты состоят в том, что вы можете войти с действительными учетными данными, и что вы не можете войти с недействительными учетными данными.