我想为一些需要用户输入的方法编写一个JUnit TestCase。这是我方法的一部分:

public void createCart() {
...
myCart= new Cart();
s = console.readLine("Enter your first name: ");
myCart.setFirst(s);
...
}


如何为上述代码编写Junit测试用例,即如何在TestCase中提供名字。

最佳答案

由于似乎您正在使用的java.io.Console并没有实现任何有用的接口,因此,您唯一的方法就是对其进行封装或包装。

看一下EasyMock或Mockito之类的样机Java框架。它们允许您模拟任何API,即使API返回所需的值。

另一种解决方案是不直接使用Console,而是使用2种实现创建接口:一种基于Console用于生产,另一种用于测试。

关于java - 在JUnit测试用例中模拟用户输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17259700/

10-16 08:09