解决mock单元测试中 无法获取实体类xxx对应的表名

错误描述:在执行单元测试时,执行到new Example时抛出异常,提示无法获取实体类xxx对应的表名

 		Example example = new Example(ServeSubscribeRecord.class);
        Example.Criteria criteria = example.createCriteria();
        criteria.andEqualTo("serveCode", serveCode);
        criteria.andEqualTo("thirdUserId", thirdUserId);
        criteria.andEqualTo("subscribeType", SubscribeTypeEnum.AUTO_SUBSCRIBE);
        criteria.andEqualTo("subscribeStatus", SubscribeStatusEnum.INIT.getCode());
        serveSubscribeRecordMapper.updateByExampleSelective(subscribeRecord, example);

解决办法

	@Before
    public void before() {
        // java.lang.RuntimeException: 无法获取实体类xxx.dao.entity.ServeSubscribeRecord对应的表名!
        // 该问题原因是由于缺少了spring的启动过程,导致实体类的信息没有添加到容器中导致该异常,在单测中手动添加即可
        Config config = new Config();
        // ServeSubscribeRecord为对应实体类
        EntityHelper.initEntityNameMap(ServeSubscribeRecord.class, config);
    }

相关的关键代码

Example.java:93解决mock单元测试中 无法获取实体类xxx对应的表名_第1张图片

EntityHelper.java:65解决mock单元测试中 无法获取实体类xxx对应的表名_第2张图片

你可能感兴趣的:(单元测试,单元测试,log4j)