foreach循环的Mockito测试用例

时间:2019-02-28 07:32:45

标签: java

我有一个arraylist,我正在使用foreach循环将其转换为另一个不同类型的arraylist。我想使用Mockito编写测试用例。我该怎么办?

List<Product1> list1 = new ArrayList<Product1>();
List<Product2> list2 = new ArrayList<Product2>(); 
list1.foreach(productList1 -> list2.add(new Product2(product1.getName())));


class Product1{

}

class Product2{
    String name;
    public Product2(String name){
        this.name=name;
    }
}

1 个答案:

答案 0 :(得分:1)

您不需要在这里嘲笑。您可以编写一个简单的测试,例如

@Test
public void testListConversionForEmpty() {
  assertThat(theConvertingMethod(emptyListOfProduct1), is(emptyListOfProduct2));
}

然后您进入,并添加更多对真实内容列表执行测试的测试方法。

换句话说:当创建“真实”对象太复杂时,您只能使用模拟框架。

在您的情况下,您应该简单地实例化几个Product1和Product2对象,将它们放入列表中,并确保您的转换代码可以提供预期的结果。含义:您可以完全控制输入 而无需模拟任何东西。

(记录:is()上有一个hamcrest匹配项)