使用SpringJUnit4ClassRunner进行单元测试

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations ={"classpath:/configuration/spring/beans.xml"})
@Transactional
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false)
public class TestModule{
    @Test
    public void testAdd() {
        try {
        dao.save(module);
        }catch(Exception e) {
            e.printStackTrace();
        }
        }
}

 这里需要对defaultRollback = true说明: true ? 测试数据不会污染数据库 : 会真正添加到数据库当中

当然这里不污染数据库只是在表中看不到数据, 但是如果你设置的主键是自动增长的话, 那么可以很明显得看出,虽然数据回滚了, 但是当你尝试不回滚新增数据到数据库的时候, 会发现ID不是连续的.所以并不是真正意义上的无污染

当然,这种方式也有他的好处,比单纯JUNIT要省去@before ,@after的方法.

猜你喜欢

转载自ydlmlh.iteye.com/blog/2209189
今日推荐