使用PowerMockito模拟JSONObject构造函数时找不到构造函数

时间:2013-12-18 17:12:34

标签: json mockito powermock

我正在使用JSONObject(madison.util.json.JSONObject)的自定义类而不是标准的org.json.JSONObject,并且正在尝试使用PowerMockito模拟对JSONObject.class的构造函数(String)调用。

PowerMockito.whenNew(JSONObject.class).withArguments(String.class).thenReturn(jsonStub);

我正在跟踪错误:

No constructor found in class 'madison.util.json.JSONObject' with parameter types: [ null ].

有人可以告诉我这里有什么问题吗?

由于

1 个答案:

答案 0 :(得分:1)

您将Class作为参数传递而不是String。 要传递字符串而不注意其值,可以使用:

PowerMockito.whenNew(JSONObject.class).withArguments(Matchers.anyString()).thenReturn(jsonStub);

否则,如果需要String.class作为参数,请尝试:

whenNew(MimeMessage.class).withParameterTypes(MyParameterType.class).withArguments(isA(MyParameter.class)).thenReturn(mimeMessageMock);

https://groups.google.com/forum/#!msg/powermock/ncH_2u39UBM/Rtk0-_FufzQJ