我无法在 Spring 启动应用程序中使用 mockito 来模拟 Dao 方法

瑜珈帕蒂尔

我无法在 Spring Boot 中模拟 Dao 方法。请让我知道我在下面的代码中做错了什么。我尝试使用 SpringJUnit4ClassRunner 并模拟 Dao 方法。但是,它仍然会进入 Dao 方法,而不是返回模拟值。我也尝试过 MockitoJUnitRunner ,但当时无法调用服务方法作为其获取空值。

@RestController
public class HomeController {

    @Autowired
    HomeSeriveInterface service;

    @Autowired
    HomeDaoImpl homeDao;

    @GetMapping(value="/getData")
    public String Data() {
        System.out.println("Inside Controller");
        List < Map < String, Object >> rows = service.getData();
        return "Hi Yogita" + rows;
    }

}

@Service
public class HomeService implements HomeSeriveInterface{

    @Autowired
    HomeDao dao;

    @Override
    public List<Map<String, Object>> getData() {
        System.out.println("Inside Service");
        return dao.getData();
    }

}

@Repository
public class HomeDaoImpl implements HomeDao{

    @Autowired
     @Qualifier("jdbcTemplate1")
     private JdbcTemplate jdbcTemplate;

    @Override
    public List < Map < String, Object >> getData() {
        System.out.println("Inside Dao");
        List < Map < String, Object >> rows = jdbcTemplate.queryForList("SELECT * FROM COURCES");
        return rows;
    }

}

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class CcdWebApplicationTests {


    @InjectMocks
    @Autowired
    HomeController homeController;

    @Mock
    HomeDao homeDao;

    @Before
    public void init() {
        MockitoAnnotations.initMocks(this);
    }

    @Test
    public void getDataTest() {
        System.out.println("testing *******");
        List < Map < String, Object >> data = null;
        Mockito.when(homeDao.getData())
        .thenReturn(data);
        System.out.println("2nd *");
        String data2 = homeController.Data();
        System.out.println(data2);

    }

}
马切伊·科瓦尔斯基

您不需要@InjectMocks并使用@MockBean代替@Mock

@Autowired
HomeController homeController;

@MockBean
HomeDao homeDao;

也不需要这部分:

@Before
public void init() {
    MockitoAnnotations.initMocks(this);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Mockito使用模拟对象测试DAO

来自分类Dev

在Mockito中模拟DAO

来自分类Dev

如何使用Mockito测试DAO方法?

来自分类Dev

Mockito:如何通过嘲笑来测试我的Dao?

来自分类Dev

如何使用Mockito在Spring Boot中模拟异步(@Async)方法?

来自分类Dev

无法使用Mockito模拟Spring-Data-JPA存储库

来自分类Dev

无法使用Mockito模拟带有参数的静态方法

来自分类Dev

如何从不使用Mockito模拟对象来测试异步方法?

来自分类Dev

无法使用Mockito模拟WebView

来自分类Dev

无法使用Mockito模拟WebView

来自分类Dev

在python中使用Mockito的模拟方法

来自分类Dev

在 Spring 中使用 mockito 测试方法 Controller

来自分类Dev

如何使用应用程序类来启动服务并在我的活动中使用它?

来自分类Dev

在Web应用程序中使用启动Spring的最新方法

来自分类Dev

Spring 应用程序无法启动:应用程序无法使用类路径启动

来自分类Dev

在模拟中存根两个方法使用Mockito和Spring MockMVC引发异常

来自分类Dev

如何使用Mockito模拟受保护的方法?

来自分类Dev

使用PowerMock和Mockito模拟静态方法

来自分类Dev

使用Mockito模拟Joda DateTime方法

来自分类Dev

如何使用ts-mockito模拟方法?

来自分类Dev

如何使用 Mockito 模拟列表方法

来自分类Dev

使用Mockito模拟基类中的方法或模拟静态方法

来自分类Dev

模拟方法与 Mockito 无关

来自分类Dev

Heroku无法启动我的节点应用程序,因为它试图使用nodemon来执行它

来自分类Dev

无法从 DAO 解析方法

来自分类Dev

使用简单的 Spring Boot 应用程序出现错误“应用程序无法启动”

来自分类Dev

Spring Boot 应用程序无法启动?

来自分类Dev

我可以在python中使用`mock`来模拟具有指定参数的方法吗?

来自分类Dev

为什么我无法在Wpf中使用应用程序内的WebView来导航html文件?

Related 相关文章

  1. 1

    Mockito使用模拟对象测试DAO

  2. 2

    在Mockito中模拟DAO

  3. 3

    如何使用Mockito测试DAO方法?

  4. 4

    Mockito:如何通过嘲笑来测试我的Dao?

  5. 5

    如何使用Mockito在Spring Boot中模拟异步(@Async)方法?

  6. 6

    无法使用Mockito模拟Spring-Data-JPA存储库

  7. 7

    无法使用Mockito模拟带有参数的静态方法

  8. 8

    如何从不使用Mockito模拟对象来测试异步方法?

  9. 9

    无法使用Mockito模拟WebView

  10. 10

    无法使用Mockito模拟WebView

  11. 11

    在python中使用Mockito的模拟方法

  12. 12

    在 Spring 中使用 mockito 测试方法 Controller

  13. 13

    如何使用应用程序类来启动服务并在我的活动中使用它?

  14. 14

    在Web应用程序中使用启动Spring的最新方法

  15. 15

    Spring 应用程序无法启动:应用程序无法使用类路径启动

  16. 16

    在模拟中存根两个方法使用Mockito和Spring MockMVC引发异常

  17. 17

    如何使用Mockito模拟受保护的方法?

  18. 18

    使用PowerMock和Mockito模拟静态方法

  19. 19

    使用Mockito模拟Joda DateTime方法

  20. 20

    如何使用ts-mockito模拟方法?

  21. 21

    如何使用 Mockito 模拟列表方法

  22. 22

    使用Mockito模拟基类中的方法或模拟静态方法

  23. 23

    模拟方法与 Mockito 无关

  24. 24

    Heroku无法启动我的节点应用程序,因为它试图使用nodemon来执行它

  25. 25

    无法从 DAO 解析方法

  26. 26

    使用简单的 Spring Boot 应用程序出现错误“应用程序无法启动”

  27. 27

    Spring Boot 应用程序无法启动?

  28. 28

    我可以在python中使用`mock`来模拟具有指定参数的方法吗?

  29. 29

    为什么我无法在Wpf中使用应用程序内的WebView来导航html文件?

热门标签

归档