论坛首页 入门技术论坛

今天工作遇上的问题20071212

浏览 1732 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-12-12  
[b]奇怪 ,今天调试的时候,发现页面上显示的全是做单元测试的数据,但是调试的时候确确实实是看到了在取数据库中的数据呀。查下ArayList里的主键值全部是上千的数字,吓我一跳。
真不知道是为什么会取到单元测试里的数据,而数据库里的数据却没有读到呢?

List<User> users = new ArrayList<User>();
fromDB = getUserService().findUser(user_id);
for(int i=0;i<fromDB.size();i++) {
  User user = new User();
  user.setLoginName(((User)fromDB.get(i)).getLoginName());
  user.setLoginPwd(((User)fromDB.get(i)).getLoginPwd());
}

这些是我用于测试的数据。
问了一下我们的老大,说在做测试的时候生成的数据没有做测试操作,我晕,那是不是每一个单元测试类都要去检查呢。
哎,怎么在做单元测试的时候不想全点呢,现在代码可是很多的呀。

没法,只能一个个检查了

但是我还是想问一下,就算是这样,那页面也应该显示测试的数据和数据库中的记录才对的呀,而且做查找时也确实看到查到了数据库中的值,但是怎么不会显示呢?

不知道有哪位同仁有遇过类似的问题,请拿出来互相交流一下
   发表时间:2007-12-13  
是不是你用了spring的测试框架,测试结束后自动回滚了?
spring的测试框架会帮你管理事务,在测试开始前开启事务,执行完毕自动回滚,不会污染你的数据库
0 请登录后投票
   发表时间:2007-12-13  
是的,我使用了spring 的测试框架。
但是我有个疑问,spring的测试框架会帮我管理事务,就不会去读数据库中的值吗
0 请登录后投票
   发表时间:2008-01-23  
造成这种问题的原因也有可能与数据库的引擎有关,像mysql的引擎innodb支持事务,而MyIsam却不支持
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics