gpt4 book ai didi

java - 尝试从 Java 控制台对文本用户输入进行 TDD 和单元测试

转载 作者:行者123 更新时间:2023-11-30 11:20:16 27 4
gpt4 key购买 nike

我正在为井字游戏程序的以下方法编写单元测试。我想遵循 TDD 方法,但该方法需要用户输入。

public int[] playerMove(){
Scanner reader = new Scanner(System.in);
int[] move = new int[2];
move[0] = reader.nextInt()-1;
move[1] = reader.nextInt()-1;
return move;
}

我的问题是我无法为 move[0]move[1] 输入测试编号,因为它需要通过 提供的用户输入系统.in。在我的测试中如何模拟这个?

最佳答案

首先,如果您已经编写了代码,现在才编写测试,那么这不是 TDD。

关于您的问题,解决此问题的一种方法是将 InputStream 作为参数传递给您正在测试的类的构造函数,而不是硬编码 System.in

这将使您能够使用生成您想要的任何输入的模拟 InputStream 创建被测试类的实例。

关于java - 尝试从 Java 控制台对文本用户输入进行 TDD 和单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22827630/

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