日期:2014-05-16  浏览次数:20387 次

Junit中测试插入等无返回值的操作要注意的问题

 

问题一 到底插不插进数据库

 

由于测试数据有时比较随意,插入数据库会对数据库进行污染。

我们在测试的时候通过控制事务,一般不提交至数据库。

例如通过spring控制事务提交,默认让其回滚

@TransactionConfiguration(defaultRollback = true, transactionManager = "transactionManager")

 

 

 

 

问题二 不插数据库,怎么知道成功与否

 

1 绿条说明运行没有出错

2 先插再查。把查的代码紧跟在插入的后面,由于它们在同一个事务中,所以可以查到,但数据库中没有值

 

  Student s = new Student();
  s.setNum(“001”);
  s.setName("xy001");
  studentDao.insert(s);

  List<Student> lst = null;
  lst = studentDao.readAllStu();
  assertNotNull(lst);
  for(Student m:lst)
  {
   System.out.println(m.getName());
  }