51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6904|回复: 5
打印 上一主题 下一主题

mapper正常运行没问题,运行JUnit测试时,mapper就报错了

[复制链接]
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 530 天

    连续签到: 2 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2021-7-15 11:39:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点

    Spring boot + mybatis-plus项目,正常运行时没问题,运行JUnit测试时,mapper就报错了,不能用,报NullpointerException。
    看了网上很多都说是少了@RunWith(SpringJUnit4ClassRunner.class),但是我加上了还是一样

    但是我正常跑项目是没问题的,就是Junit会报错,就不知道为什么

    单元测试类:

    1. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
    2. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
    3. import com.howie.Application;
    4. import com.howie.entity.TestEntity;
    5. import com.howie.mapper.TestMapper;
    6. import org.junit.jupiter.api.Test;
    7. import org.junit.runner.RunWith;
    8. import org.springframework.beans.factory.annotation.Autowired;
    9. import org.springframework.beans.factory.annotation.Value;
    10. import org.springframework.boot.test.context.SpringBootTest;
    11. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    12. @RunWith(SpringJUnit4ClassRunner.class)
    13. @SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
    14. public class SpringBootTestUnit {
    15.     @Autowired
    16.     TestMapper mapper;

    17.     @Test
    18.     public void test() {
    19.         String testId = "test1";
    20.         System.out.println("Junit test...");
    21.         LambdaQueryWrapper<TestEntity> wrapper = Wrappers.lambdaQuery();
    22.         wrapper.eq(TestEntity::testId, testId);
    23.         mapper.select(wrapper);
    24.     }
    25. }
    复制代码

    报错信息如下:

    1. org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
    2. ### Error querying database.  Cause: java.lang.NullPointerException
    3. ### The error may exist in com/howie/mapper/TestMapper.java (best guess)
    4. ### The error may involve com.howie.mapper.TestMapper.selectOne
    5. ### The error occurred while executing a query
    6. ### Cause: java.lang.NullPointerException
    复制代码


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    10 小时前
  • 签到天数: 1807 天

    连续签到: 1 天

    [LV.Master]测试大本营

    2#
    发表于 2021-7-16 09:25:03 | 只看该作者
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    9 小时前
  • 签到天数: 1522 天

    连续签到: 1 天

    [LV.Master]测试大本营

    3#
    发表于 2021-7-16 10:43:11 | 只看该作者
    环境配置检查下
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:15
  • 签到天数: 756 天

    连续签到: 1 天

    [LV.10]测试总司令

    4#
    发表于 2021-7-16 11:00:44 | 只看该作者
    网上找下吧
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    9 小时前
  • 签到天数: 997 天

    连续签到: 1 天

    [LV.10]测试总司令

    5#
    发表于 2021-7-16 14:49:28 | 只看该作者
    可能junit的运行时的classpath信息与普通运行方式不同,于是将classpath修改为classpth*,使其从多个classpath中加载mapper文件
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-10-22 14:23
  • 签到天数: 1007 天

    连续签到: 1 天

    [LV.10]测试总司令

    6#
    发表于 2021-7-16 14:49:44 | 只看该作者
    这个倒不清楚什么原因了,插个眼,看看大佬答案。
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 19:47 , Processed in 0.063746 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表