gpt4 book ai didi

java - 如何对需要键盘输入的方法进行单元测试?

转载 作者:行者123 更新时间:2023-12-01 19:28:41 25 4
gpt4 key购买 nike

所以我正在编写一个静态方法,它返回您输入的所有成绩的平均值。代码如下:

 public static float average() throws IOException {

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
float sum=0;

System.out.print("Number of classes: ");
int classes = Integer.parseInt(reader.readLine());

for (int i = 0; i < classes; i++) {

System.out.print("input the grade: ");
float grade = Integer.parseInt(reader.readLine());

sum += grade;

}

float average = sum / classes;

return average;
}

我想在 Junit 中执行测试,以确保这段代码是可靠的(这里的重点是了解 JUNIT,我知道代码本身没有什么特别的)。

问题:此方法要求我通过键盘输入值才能返回某些内容。我不知道如何更改输入流以在 junit 测试中采用特定值。你会建议我如何去做或者你会建议我研究什么?

最佳答案

将 BufferedReader 从你的方法中取出,例如将方法的签名更改为

 public static float average(BufferedReader reader) throws IOException {}

并在您的单元测试中为该方法提供一个读取器,该读取器从文件或您放置所需输入值的字符串中读取。

关于java - 如何对需要键盘输入的方法进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60468288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com