backend/iBatis

[iBATIS] 8. Annotation 기반으로 JUnit4를 이용한 Spring TDD ~ 9. Reference

버리야 2008. 9. 3. 10:13
반응형

8. Annotation 기반으로 JUnit4를 이용한 Spring TDD

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

@RunWith : 테스트를 실행할 org.junit.runner.Runner 구현 클래스를 지정할 수 있다.

스프링은 스프링 컨텍스트 설정 및 DI, 트랜잭션 처리 등을 지원해주는 Runner 구현 클래스를 제공하고 있다.

Junit 4 기반의 테스트에서 스프링 컨텍스트에 설정된 빈 객체를 사용하고 싶다면 SpringJunit4ClassRunner 클래스를 @RunWith 어노테이션 값으로 설정하면 된다.

@ContextConfiguration : 스프링 컨텍스트를 생성할 때 사용될 설정 파일의 경로

@Autowired, @Resource : 테스트 코드에서 필요로 하는 스프링 빈 객체 설정


  • 트랜잭션 처리를 위한 설정

@TransactionConfiguration : 테스트 클래스에 적용되며, 트랜잭션 관리자와 기본 롤백 규칙을 설정한다.

@Rollback : 테스트 메소드에 적용되며, 메소드 단위로 롤백 규칙을 설정한다.

@NotTransactional : 트랜잭션을 적용하지 않을 메소드에 적용한다.

@Transactional : 테스트 클래스에 적용. 이 어노테이션을 적용함으로써 각 테스트 메소드는 트랜잭션 범위 내에서 실행된다.

만약 테스트 메소드에서 명시적으로 롤백 여부를 설정하고 싶다면 @Rollback 어노테이션을 사용하면 된다.

@Rollback(false)

테스트 메소드에 대한 트랜잭션이 시작되기 전에 어떤 초기화 작업을 해주어야 한다며, @BeforeTransaction 어노테이션이 적용된 메소드를 작성하면 된다.

반대로 트랜잭션이 종료된 이후에 정리 작업을 해주어야 할 경우에는 @AfterTransaction 어노테이션이 적용된 메소드를 작성하면 된다.



@RunWith (SpringJUnit4ClassRunner. class )

@ContextConfiguration (locations = { "classpath:/com/mydomain/data/beans.xml" })

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

@Transactional

public class iBatisDaoTest {

 

          @Autowired

          private ImageService imageService ;

          private int id ;

 

          @Test

          public void testInsertImage() {}

}



9. Reference

 

SQL Maps2.0 개발자가이드 ( 한글판 )
http://ibatis.apache.org/docs/java/pdf/iBATIS-SqlMaps-2_ko.pdf

SQL Maps2.0 tutorial( 한글판 )
http://ibatis.apache.org/docs/java/pdf/iBATIS-SqlMaps-2-Tutorial_ko.pdf

iBATIS 에서   생성되는  SQL 문을   보기   위한  log4j 셋팅
http://openframework.or.kr/JSPWiki/Wiki.jsp?page=IbatisLog4jSettingToShowSQL
 
Sql2ibatis
http://openframework.or.kr/JSPWiki/Wiki.jsp?page=Sql2ibatis

DDL2iBatis
http://openframework.or.kr/JSPWiki/attach/Hibernate/DDL2iBatis-exe.zip

Spring 2.5, Eclipse and JUnit 4.4
http://dertompson.com/index.php/2007/12/12/spring-25-eclipse-and-junit-44/

iBATIS 액션: 쉽고 강력한 SQL 매핑 프레임워크 아이바티스
- 클린턴 비긴.브랜든 구딘.래리 메도스 지음 | 이동국.손권남 번역,  위키북스

스프링 2.5 프로그래밍
- 최범균 , 가메출판사

 


반응형