2015-02-06 17 views
0

你好我正在使用Junit和EasyMock来测试一个类,唯一的问题是我有一个问题,理解如何处理数组和模仿数据方面的对象列表。如何在EasyMock中模拟数组和列表

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

有谁知道如何做到这一点,同时继续使用EasyMock?

+3

这完全不清楚你为什么要嘲笑他们 - 当你有一个名为'hereisClassIamMocking'的*方法时,你会特别不清楚...... – 2015-02-06 19:25:28

+0

你那么正确......我刚刚注意到,当我改名该方法(这是一个不好的名称替代)。 – whatkai 2015-02-09 17:51:06

回答

0

如果你想嘲笑这个方法(虽然它看起来有点怪我) 你应该做它像这样

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

,你需要模拟无效的方法,应该用做 easymock的财产。

0

您只能模拟对象,而an array isn't an object type,所以您无法创建任何类型数组的模拟。你可以创建一个列表的模拟,就像你创建的任何其他模拟一样;你只需要从编译器得到一个未经检查的赋值警告。

那边,你应该从来没有嘲笑你的参数。它们代表对函数的实际输入,并且是您可以在测试中提供的最具体的东西。我会质疑为什么你必须将一个数组一起传递给一个数组(在我看来,这个函数是乞求被重构的),但是你实际上想要将这个数组和列传递给你的方法来进行测试。