spring jpa整合junit单元测试 ,设置事务自动回滚

package com.fengshu.gotian.applicationImpl;
 
import java.util.List;
 
import javax.annotation.Resource;
 
import org.apache.log4j.Logger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.TestExecutionListeners;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.test.context.transaction.TransactionalTestExecutionListener;
import org.springframework.transaction.annotation.Transactional;
 
import com.fengshu.gotian.application.UserApplication;
import com.fengshu.gotian.core.User;
 
@Transactional
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath*:META-INF/spring/ApplicationContext.xml")
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true
//defaultRollback = true 则测试完毕自动回滚,无法看到数据库是否插入数据,测试环境应该设置为false,否则无法确定是否成功提交事务
//defaultRollback = false
@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class,
         TransactionalTestExecutionListener.class })
public class UserApplicationImplTest extends AbstractJUnit4SpringContextTests {
     private Logger logger = Logger.getLogger(this.getClass());
 
     @Resource(name = "userApplication")
     private UserApplication userApplication;
 
     @Test
     public void testSpring() {
         logger.info("test begin");
         List< User > users = userApplication.find("from User");
         for (User user : users) {
             userApplication.delete(user);
         }
 
     }
 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值