Foo
我希望 PowerMockito 在调用时返回我的空数组列表new ArrayList<Foo>()
,但我不确定如何构造语句。具体来说,我想像new ArrayList<AnyOtherType>()
往常一样创建一个新列表。
ArrayList<Foo> fooList = new ArrayList<Foo>();
PowerMockito.whenNew(ArrayList.class).withParameterTypes(Foo.class).thenReturn(fooList);
^ 这基本上是我所拥有的,但.withParameterTypes(Foo.class)
不允许我使用.thenReturn()
. 我唯一的选择是withArguments(firstArgument, additionalArguments)
。
PowerMock 可以做到这一点,如果可以,我该如何构建它?
编辑:
好的,根本问题是我需要获取我正在尝试测试的方法的结果,但是我不得不模拟请求,并且列表放在我正在尝试测试的方法末尾的请求中.
inspectionAction.viewInspectionDetailsAjax(mapping, form, request, response);
此方法从请求中提取几个参数,这些参数被模拟 ( Mockito.mock(HttpServletRequest.class);
)。通常在我们的应用程序中,我们将数据放在会话级变量上。但是由于这个方法一次被调用了好几次,并且结果被 ajax'd 到了页面中,所以每条数据都被存储在请求中:
request.setAttribute("inspectionAjaxDetails", details);
所以我需要一些方法来获取details
,它是一个类型化的 ArrayList,当request
被模拟时。