- 问题描述: 在单测时遇到新增数据操作,同时要求用到新增后的id?测试时这个id变得不可预测
- 具体情形如下:
<insert id="register" parameterType="cn.cmeizu.helloword.model.User"
useGeneratedKeys="true" keyProperty="id" keyColumn="id">
insert into `user` (`name`,`age`,`sex`) values (#{user.name},#{user.age},#{user.sex});
</insert>
这样去插入的时候就能得到返回的id.
- 在写测试方法的时候就可以得到id.
when(userMapper.register(user)).thenAnswer(invocationOnMock -> {
User tmp = (User) invocationOnMock.getArgument(0);
tmp.setId(100);
return 1;
});
就可以实现测试时返回得到新增的id.
网友评论