JUnit测试- BufferedReader输入重定向

sqyvllje  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(158)

我是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();
    }
}
kulphzqa

kulphzqa1#

System.in是一个静态字段。下面是一些测试类的步骤:
1.创建一个模拟打印流。
1.在以@BeforeAll注解的方法中,保存目前的System.in值。
1.在用@BeforeAll注解的方法中,将www.example.com设置System.in为mock。
1.在用@AfterAll注解的方法中,将www.example.com设置System.in为上面第2行中保存的值。

相关问题