我是JUnit测试的新手,我已经编写了将文件重定向为输入的代码,但是我不确定如何测试它。测试代码的最佳方法是什么?
private static String request;
public static void main(String[] args) {
readFile();
}
public static void readFile() {
try {
/* BufferedReader to read text from an input stream */
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
/* While loop to read each line of the file. request - each line is a different client request */
while ((request = input.readLine()) != null) {
System.out.println("Client request: " + request);
}
/* Closes input */
input.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
1条答案
按热度按时间kulphzqa1#
System.in
是一个静态字段。下面是一些测试类的步骤:1.创建一个模拟打印流。
1.在以
@BeforeAll
注解的方法中,保存目前的System.in值。1.在用
@BeforeAll
注解的方法中,将www.example.com设置System.in为mock。1.在用
@AfterAll
注解的方法中,将www.example.com设置System.in为上面第2行中保存的值。