我正在使用Mockito为受保护的方法编写测试用例。
public HttpResponse createPostRequest(HashMap<String, String> requestHeaders, String url, String methodName)
{
//some logic
}
我的班级在src / main / java中,而测试用例在其他软件包src / main / test中。 并正在使用以下内容。
Mockito.doReturn(mockHttpResponse).when(userServiceImpl).createPostRequest(Mockito.any(HashMap.class),
Mockito.any(String.class),Mockito.any(String.class));
,但是它不起作用。要求将方法签名更改为公开。 请帮忙。
谢谢。
答案 0 :(得分:0)
这似乎是您的项目结构的配置问题。您的主班级在src/main/java
中,测试班级在src/main/test
中,其中一个源文件夹为src
。
虽然您可以使用它(在buildpath中设置源文件夹等),但是大多数情况下都使用了项目结构(例如,在spring boot/ maven中):
此结构有两个源文件夹,一个用于主文件夹(src/main/java
),另一个用于测试文件夹(src/test/java
)。这样做的好处是TestSomeMainClass
可以访问package private
的{{1}},即default
成员字段。
答案 1 :(得分:0)
项目结构为src / main / java和src / test / java。但是使用默认修饰符无法模拟该方法。要求将修改器修改为公共