小编Jav*_*per的帖子

使用 Spring Boot 和 JUnit 从控制器类模拟存储库

我正在为我的控制器类编写测试用例,它是一个 Spring Boot 应用程序,我只想为调用服务和存储库服务的控制器类编写测试用例。我正在使用 SpringBootTest,它用于为我的所有 bean 创建实例。我只想模拟数据库调用和外部 api 调用。

MyController {

    @Autowired
    MyService service;

    //Api call for getDetails
    service.getDetails();
}


MyService {

   @Autowired
   MyRepository repo;

}

MyControllertest {
    @Autowired
    MyController controller;

    @Mock
    MyRepository repoMock;

    @Before
    public void setup(){
        // intit mocks
    }

    @Test
    public void myTest(){
        when(repoMock.getDetails()).thenReturn(null);
        controller.getdetails();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行测试用例时,它没有使用模拟存储库,而是使用@AutowiredService 类中提到的存储库。

谁能解释一下如何从控制器类模拟存储库。

在这个博客中发布了很多问题,但没有得到任何答复。

junit mocking mockito powermock spring-boot-test

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

junit ×1

mocking ×1

mockito ×1

powermock ×1

spring-boot-test ×1