0

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

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

我如何为上面的内容编写一个 Junit 测试用例,即如何在测试用例中提供名字。

4

1 回答 1

3

由于您使用java.io.Console的似乎没有实现任何有用的接口,因此您唯一的方法是将它弄混或包装它。

看看像 EasyMock 或 Mockito 这样的模型 Java 框架。它们允许你模拟任何 API,即让 API 返回你想要的值。

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

于 2013-06-23T10:19:59.523 回答