2014-06-12 6 views
0

스프링 애플 리케이션 테스트 중이며 응용 프로그램을 테스트하는 동안 데이터를 db에 삽입하고 있습니다. 하지만 롤백하는 방법을 모르겠습니다.스프링 테스트에서 삽입 후 롤백

시험 코드 :

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations = "classpath:/META-INF/spring.cfg.xml") 
public class SpringAppTest{ 
    @Autowired 
    private MyService myService; 

    @BeforeClass 
    public static void setUpClass() throws Exception { 
    } 

    @AfterClass 
    public static void tearDownClass() throws Exception { 
    } 

    @Test 
    public void testInsert(){ 
     //insert code 
    } 
} 

이 제발 가이드. 클래스 전 주석에 이어

답변

1

사용 : 여기

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

txManager는 애플리케이션 컨텍스트의 트랜잭션 관리자입니다.

여기 txManager는 응용 프로그램 컨텍스트에서 트랜잭션 관리자의 인스턴스 또는 빈 ID입니다.

<!-- Transaction Manager --> 
    <bean id="txManager" 
      class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 

    <tx:annotation-driven transaction-manager="txManager" /> 
관련 문제