Java foreach循环的Mockito测试用例

Java foreach循环的Mockito测试用例,java,Java,我有一个arraylist,我正在使用foreach循环将它转换成另一个不同类型的arraylist。我想用mockito编写测试用例。我怎么做 List<Product1> list1 = new ArrayList<Product1>(); List<Product2> list2 = new ArrayList<Product2>(); list1.foreach(productList1 -> list2.add(new Produ

我有一个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;
    }
}
List list1=new ArrayList();
List list2=新的ArrayList();
list1.foreach(productList1->list2.add(newproduct2(product1.getName()));
类别产品1{
}
类别产品2{
字符串名;
公共产品2(字符串名称){
this.name=name;
}
}

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

@Test
public void testListConversionForEmpty() {
  assertThat(theConvertingMethod(emptyListOfProduct1), is(emptyListOfProduct2));
}
然后你开始,添加更多的测试方法,这些方法作用于具有真实内容的列表

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

在您的例子中,您应该简单地实例化几个Product1和Product2对象,将它们放入列表中,并确保您的转换代码提供预期的结果。意思是:你可以完全控制输入而不模仿任何东西


(请注意:
is()
上面有一个匹配器)

鉴于Product1没有getName(),我很好奇它甚至可以编译。为什么要使用Mockito?您使用的是List和POJO,没有任何东西需要Mockitotesting@Stultuske编写的代码是为了给出一个想法。如果您正在考虑编译它,列表和迭代器都写得很模糊,那么您也应该提出这一部分,甚至不需要断言。流量正常。谢谢你的回答。