首页 > 解决方案 > JUnit 5 Search Rest api 测试

问题描述

如何使用 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());
}

标签: springspring-bootjunit5spring-boot-testspringmockito

解决方案


请注意,您创建的 @Repository 根本没有实现,因为逻辑是由 Spring 在幕后处理的,那么您想在这里使用单元测试来测试什么?

如果您真的想确保您在存储库中引入的方法按预期工作,请创建一个集成测试并验证其在真实数据上的行为。


推荐阅读