我想为某些需要用户输入的方法编写一个 JUnit TestCase。这是我的方法的一部分:
public void createCart() {
...
myCart= new Cart();
s = console.readLine("Enter your first name: ");
myCart.setFirst(s);
...
}
我如何为上述内容编写一个 Junit 测试用例,即如何在测试用例中提供名字。
最佳答案
由于您使用的 java.io.Console
似乎没有实现任何有用的接口(interface),因此您唯一的方法就是将其拾取或包装起来。
看看 EasyMock 或 Mockito 等模型 Java 框架。它们允许您模拟任何 API,即让 API 返回您想要的值。
另一种解决方案是不直接使用 Console
,而是创建具有 2 个实现的接口(interface):一个基于 Console
用于生产,另一个用于测试。
关于java - 在 JUnit 测试用例中模拟用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17259700/