Вы можете просто заменить System.in
собственным потоком ввода, возможно, файлом, содержащим ввод, который вы хотите передать в класс учащегося.
Предполагая, что класс учащегося выглядит следующим образом:
import java.util.Scanner;
public class Student {
public String prompt() {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter some input:");
return scanner.nextLine();
}
}
Вы могли бы "оценить" это так:
import java.io.FileInputStream;
import java.io.IOException;
public class Grader {
public static void main(String[] args) throws IOException {
System.setIn(new FileInputStream("replies.txt"));
Student student = new Student();
String reply = student.prompt();
assert reply.equals("reply");
}
}