SpringFramework 4 시리즈 SpringTest: (1) Spring4 통합 Junit

Spring 애플 리 케 이 션 을 구축 한 후에 유닛 테스트 를 작성 하 는 것 이 번 거 로 워 집 니 다. 대부분의 클래스 가 spring 위탁 관리 에 맡 겨 졌 기 때문에 인위적으로 spring 의 프로필 을 불 러 오 는 등 인 코딩 이 필요 합 니 다. spring 에서 어떤 인 스 턴 스 를 얻 는 지 등 이 필요 합 니 다.
1.1 SpringTest 이전 유닛 테스트 코드 통합
public class TestDemo {
    private static DBDao dbDao;
    private Object[] testData;

    @BeforeClass
    public static void setUpBeforeClass() throws NamingException {    
        // Initialize Spring Context
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
        dbDao= context.getBean(DBDao .class);

    }

    @AfterClass
    public static void tearDownAfterClass() {}

    @Before
    public void setUp() {
    //prepare test data here
    testData =  {.........};
    }

    @After
    public void tearDown() {
    }

    @Test
    public void testSave() {
        dbDao.save(testData)
    }
}

SpringTest 로 JUnit 통합 하기
SpringTest 전체 JUnit 을 사용 하 는 것 도 Junit 의 프레임 워 크 를 Spring 용기 에 통합 시 켜 spring 에 맡 기 는 것 입 니 다. 코드 가 더욱 간결 합 니 다. 또한 SpringTest 는 JDBC 의 테스트, JNDI 의 테스트, 그리고 많은 Mock 방법 을 제공 하여 J2EE 의 단원 테스트 수 요 를 만족 시 킬 수 있 습 니 다.
Maven 의 의존 좌 표를 준비 합 니 다.
    유닛 테스트 를 작성 하려 면 Junit 와 SpringTest 의 jar 패키지 의존 이 필요 합 니 다. maven 구축 도 구 는 의존 관 계 를 자체 적 으로 해결 하기 때문에 SpringTest 가 의존 하 는 SpringCore 는 자체 적 으로 가 져 옵 니 다.
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>${project.dependency.org.junit}</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${project.dependency.spring.core}</version>
    <scope>test</scope>
</dependency>

테스트 클래스 생 성
    일반적인 테스트 클래스 와 달리 런 위 드 (SpringJUnit 4 ClassRuner. class) 를 사용 하여 Spring 의 TestRunner 류 를 설명 하 는 동시에 ContextConfiguration 주 해 를 사용 하여 불 러 올 프로필 의 길 을 설명 합 니 다. 그러면 자체 인 코딩 으로 프로필 을 불 러 오지 않 아 도 됩 니 다.
    또한 테스트 의존 클래스 에 도 주 해 를 달 고 @ Autowired 에서 자동 으로 채 워 지 는 것 을 발견 할 수 있 습 니 다.
   전체적인 구조 가 간결 해 졌 다.
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring-config-test.xml")
public class TestDemo {
    @Autowired
    private DBDao dbDao;
    private Object[] testData;

    @BeforeClass
    public static void setUpBeforeClass() throws NamingException {}

    @AfterClass
    public static void tearDownAfterClass() {}

    @Before
    public void setUp() {
    //prepare test data here
    testData =  {.........};
    }

    @After
    public void tearDown() {
    }

    @Test
    public void testSave() {
        dbDao.save(testData)
    }
}

좋은 웹페이지 즐겨찾기