Java 如何在EasyMock中模拟数组和列表

Java 如何在EasyMock中模拟数组和列表,java,junit,easymock,Java,Junit,Easymock,您好,我希望使用Junit和EasyMock测试一个类,唯一的问题是我在理解如何处理数组和对象列表时模拟数据方面遇到了问题 public void hereisClassIamMocking(@Nonnull final List<object> manyObjects, @Nullable final weirdArrayObject[] waoItems) 在继续使用EasyMock的同时,有人知道如何做到这一点吗?如果你想嘲笑这种方法,尽管我觉得它有点奇怪 你

您好,我希望使用Junit和EasyMock测试一个类,唯一的问题是我在理解如何处理数组和对象列表时模拟数据方面遇到了问题

public void hereisClassIamMocking(@Nonnull final List<object> manyObjects,
        @Nullable final weirdArrayObject[] waoItems)

在继续使用EasyMock的同时,有人知道如何做到这一点吗?

如果你想嘲笑这种方法,尽管我觉得它有点奇怪 你应该这样做

hereisClassIamMocking(ListObject,arrayObject);
Easymock.expectLastCall();

由于您需要模拟void方法,因此应该使用easymock的expectLastCall属性来完成。

您只能模拟对象,因此您无法创建任何类型的数组的模拟。您可以像创建过的任何其他模拟一样创建列表的模拟;您将从编译器中得到一个未经检查的赋值警告


除此之外,您永远不应该嘲笑您的参数。它们表示函数的实际输入,是您在测试中可以提供的最具体的内容。我想问你为什么要把一个列表和一个数组一起传递在我看来函数需要重构,但实际上,为了测试的目的,您需要将列表和数组传递给您的方法。

您完全不清楚为什么要模拟它们-当您有一个名为hereisClassIamMocking的方法时,尤其不清楚…您的正确。。。我只是注意到,当我重命名这个方法时,它的名称替换得很糟糕。