我想为一些需要用户输入的方法编写一个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/