[code] public void testAddUserInfo() throws Exception{
userInfo = new UserInfoDTO();
userInfo.setUserId("001");
userInfo.setUserName("张三");
userInfoDao.addUserInfo(userInfo);
this.assertNotNull(userInfoDao.getUserInfo(userInfo.getUserId()));
this.assertEquals(userInfo.getUserId(), userInfoDao.getUserInfo(userInfo.getUserId()).getUserId());
userInfoDao.removeUser(userInfo.getUserId()); }[/code]
为了避免脏数据!!!所以要把新插入的数据用removeUser删除掉!!!
当然,如果使用Spring的那个带有事务的基类。在TearDown时,会回滚所有事务。removeUser这个方法可以无需要。不会产生因单元测试的脏数据
困惑多一:
新增一个用户后,需要调用一个方法getUserInfo来判断数据是否已经插入!!!
根据单元测试的原则!!!
1.测试方法不应该有先后顺序!!
2.测试方法不应该依赖于另一个方法!
你上面的例子,我们需要测试的仅仅是addUserInfo这个方法!!
假设addUserInfo方法实际上是没有任何问题的,如果getUserInfo方法不正常。的确影响了这个测试结果!!!
大家平时是怎么写dao测试方法的?
userInfo = new UserInfoDTO();
userInfo.setUserId("001");
userInfo.setUserName("张三");
userInfoDao.addUserInfo(userInfo);
this.assertNotNull(userInfoDao.getUserInfo(userInfo.getUserId()));
this.assertEquals(userInfo.getUserId(), userInfoDao.getUserInfo(userInfo.getUserId()).getUserId());
userInfoDao.removeUser(userInfo.getUserId()); }[/code]
为了避免脏数据!!!所以要把新插入的数据用removeUser删除掉!!!
当然,如果使用Spring的那个带有事务的基类。在TearDown时,会回滚所有事务。removeUser这个方法可以无需要。不会产生因单元测试的脏数据
困惑多一:
新增一个用户后,需要调用一个方法getUserInfo来判断数据是否已经插入!!!
根据单元测试的原则!!!
1.测试方法不应该有先后顺序!!
2.测试方法不应该依赖于另一个方法!
你上面的例子,我们需要测试的仅仅是addUserInfo这个方法!!
假设addUserInfo方法实际上是没有任何问题的,如果getUserInfo方法不正常。的确影响了这个测试结果!!!
大家平时是怎么写dao测试方法的?
DAO测试方法探讨
本文讨论了在进行DAO层测试时的一些常见做法与原则,特别是针对如何避免脏数据的影响及单元测试中方法之间的依赖问题。
2071

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



