【发布时间】:2020-01-08 04:55:51
【问题描述】:
如何使用 JUnit 5 测试 findByTargetProject 方法。
@Repository
public interface suiteRepository extends JpaRepository<suiteInformations, Long> {
suiteInformations findByTargetProject(String url);
}
我尝试过这种方式,但收到 404 响应。
@Test
public void findByTargetProjectTest() throws Exception {
Mockito.when(suiteRepository.findByTargetProject(Mockito.anyString())).thenReturn(suiteInformation);
RequestBuilder requestBuilder = MockMvcRequestBuilders.get(
"/suiteInformationses/search/findByTargetProject?url=xyz").accept(
MediaType.APPLICATION_JSON);
MvcResult result = mockMvc.perform(requestBuilder).andReturn();
System.out.println(result.getResponse().getStatus());
}
【问题讨论】:
-
分享你的控制器类。您正在发出一个 HttpServlet 请求,该请求应该到达控制器而不是存储库。
-
我觉得不需要控制器,spring boot 自动为此提供了一个 api 并且工作正常。
-
能否分享您开发测试代码所依据的任何参考资料?
-
你不应该模拟你想要测试的方法。而且您没有为我们提供足够的信息来帮助您。请创建一个MRE。
标签: spring spring-boot junit5 spring-boot-test springmockito