如何为JUnit模拟多个用户输入

Stu*_*Cat 5 java junit

现在我有这个

ByteArrayInputStream in = new ByteArrayInputStream("2".getBytes());
System.setIn(in);

//code that does something with user inputs
Run Code Online (Sandbox Code Playgroud)

但问题是,在//代码执行某些操作时,我有多个用户输入提示,是否可以形成用户输入列表并让它在时机到来时获取相应的输入?我尝试过像"2 \n2 \n10 \nHello \n".getBytes()这样的愚蠢的事情,但这不起作用.

编辑:

我通过Scanner对象获取用户输入:

Scanner inputScanner = new Scanner(System.in);
inputScanner.nextLine();
Run Code Online (Sandbox Code Playgroud)

小智 5

只需使用“新行”就足够了。

String simulatedUserInput = "input1" + System.getProperty("line.separator")
    + "input2" + System.getProperty("line.separator");

InputStream savedStandardInputStream = System.in;
System.setIn(new ByteArrayInputStream(simulatedUserInput.getBytes()));

// code that needs multiple user inputs

System.setIn(savedStandardInputStream);
Run Code Online (Sandbox Code Playgroud)