java service mapper_spring框架给service层单元测试的时候如何注入真实的mapper对象

mybatis-plus 的crud接口中提供了这样的方法

/**

*

* 根据 entity 条件,查询全部记录

*

*

* @param queryWrapper 实体对象封装操作类(可以为 null)

* @return 实体集合

*/

List selectList(@Param(Constants.WRAPPER) Wrapper queryWrapper);

通过使用wrapper对象,在service层调用的时候就可以更具需要去提供不同的查询条件,比如这样

List plainUsers3 = userMapper.selectList(new LambdaQueryWrapper()

.nested(i -> i.eq(User::getRoleId, 2L).or().eq(User::getRoleId, 3L))

.and(i -> i.ge(User::getAge, 20)));

那这个时候就出现了一个问题,如果这个传入的QueryWrapper对象本身的逻辑有问题的话,使用模拟的mapper对象就没有办法测试出问题。

在给dao层写测试的时候会在测试类上加上如下注解

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations = "classpath*:spring.xml")

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

destroy-method="close">

class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">

value="com.example.demo.mapper"/>

并通过配置文件来注入依赖并运行测试。

那么,该如何修改这个配置文件才能在运行service层的单元测试的时候给service注入真实的mapper对象?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值