public class MethodMockDaoTest extends AbstractTransactionalDataSourceSpringContextTests {
...
public void testUpdateWithCharactorCN()
MethodMock mm = methodMockDao.get("foo");
mm.setImplement("哈哈哈哈哈");
methodMockDao.update(mm);
MethodMock mm1 = methodMockDao.get("foo");
assertEquals("哈哈哈哈哈", mm1.getImplement());
}
}
发现这样写竟然报错,晕死,update的东西没有更新到数据库中
看了看AbstractTransactionalDataSourceSpringContextTests的源码,
发现在update后面跟上一句
this.transactionManager.commit(this.transactionStatus);
就OK了,哈哈
本文介绍了一个Java测试案例,在使用Spring框架进行单元测试时遇到的问题及解决办法。通过手动设置对象属性并调用update方法更新数据库记录,发现更新操作未生效。最终通过在事务结束后手动提交事务来解决问题。
168万+

被折叠的 条评论
为什么被折叠?



