[Spring Junit] Transaction Rollback with Junit

JUnit 테스트시에 DB설정은 다음과 같다.


  1. DataSource 설정
  2. Transaction 설정 
  3. Junit 테스트 수행. 

이때 DB에 입력 및 삭제 테스트를 진행하면 실제로 데이터가 DB로 입력되거나, 삭제가 발생한다.
이를 선택적으로 수행할 수 있는 방법은 다음과 같다.

@Log4j
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {
DBConfiguration.class
})
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
@Transactional
Bla... Bla... TestCodes.....

상기 코드에서 @TransactionConfiguration 부분의 프로퍼티 값으로 2가지 설정을 해준다.

  • transactionManager : 어느 트랜잭션매니저를 이용할 것인지 기술한다. 
  • defaultRollback : 기본 롤백 정책을 입력한다. (true : 롤백진행, false : 롤백없이 바로 CUD진행)
그리고 중요한 것은 @Transactional을 꼭 입력해야한다는 사실..
이 어노테이션은 해당 테스트가 트랜잭션 하에서 수행하게 할 것인지 지정해주는 것이니...
당. 연. 히 넣어주는 쎈스. 


Share this

Related Posts

Previous
Next Post »