본문 바로가기
Study_Framework

[Spring] 스프링에서 JUnit4 Test

by 타블로 2008. 10. 20.
파일이름 : /WEB-INF/src/test/DAOTest2.java
package test;

import model.MemberDTO;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import dao.MemberDAO;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"../../config/configapplicationContext-common.xml"})
public class DAOTest2 {

    @Autowired 
    private MemberDAO memberDAO
  
    @Test
    public void testAddMember() {
       

memberDAO.addMember(new MemberDTO());
    }

}
파일이름 : /WEB-INF/classes/applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" <!-- 생략 -->>
    <bean id="memberDAO" class="dao.MemberDAOImpl" />    
</beans>

@RunWith() : Junit4를 사용하기 위해 추가되는 어노테이션
@ContextConfiguration : 불러들일 Bean Definition 파일의 경로를 설정하기 위한 어노테이션
@Autowired : 해당 주석 아래의 객체의 인스턴스를 Bean Definition파일에서 검색하여 주입하는 어노테이션
@Test : Junit 3.x대에선 메소드명 앞에 test를 붙여야 했지만 4.x대부터는 @Test 어노테이션을 붙이면
            굳이 test를 붙이지 않아도 된다.

※ 주의사항 : 현재 내가 쓰는 이클립스는 3.4인데... Junit을 그냥 사용하려고 하니 @RunWith에서 자꾸 빨간줄
                  (
에러)가 발생하였다. 그래서 검색해보니 Junit 버전에 문제가 있을 수 있다고 하여 현재 최신 버전
                  (4.5)을 추가하였더니 문제없이 실행이 되었다.


참고자료 :
1. 웹개발자를 위한 스프링 2.5 프로그래밍 / 저자 최범균