금융에 대한 모든 것

프로젝트에 JUnit 적용하기

 

JUnit을 적용하려는 프로젝트에 오른쪽 마우스를 클릭하여 Properties 클릭합니다.

 

 

Java Build Path로 들어가서 Add Library 클릭합니다.

 

 

버전을 JUnit5 맞혀주고 적용을 시켜주면 Finish, Apply 클릭하면 적용이 끝이 납니다.

 

테스트 케이스 만들기

 

테스트 케이스를 만들 클래스에서 New - JUnit Test Case 선택합니다.

 

 

그런 다음 test 폴더에 테스트 케이스를 생성하기 위해 해당 경로를 src/test/java 바꾸어 줍니다.

 

 

 테스트 케이스를 만들 메서드를 선택하고 Finish 클릭하면 test 폴더에 해당 메서드들의 테스트 케이스 뼈대가 만들어진 것을 확인할 있습니다

 

테스트 케이스 실행

 

@Test가 붙은 메서드에 커서를 올려놓고 오른쪽 마우스를 클릭하여 Run As - JUnit Test 클릭하여 실행시킬 있습니다.

의존성 주입이 있을 때의 테스트

 스프링에서는 자동으로 클래스 간에 수많은 의존성 주입이 일어나기 때문에 다른 클래스에서 작성한 코드들을 사용할 있지만 JUnit 테스트 케이스 부분만 실행하기 때문에 자동 등록이나 의존성 주입이 일어나지 않습니다. 따라서 @Service, @Mapper 붙은 클래스나 인터페이스도 쓰지 못하게 되는 것입니다. 이럴 때는 @RunWith @ContextConfiguration 이용합니다.

예시

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={
                "file:src/main/webapp/WEB-INF/spring/root-context.xml",
                "file:src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml"})
public class HomeControllerTest {
        
        @Resource
        HomeService homeService;
        
        @Test
        public void testHomeInit() throws Exception {

                List<HomeVO> homeList = homeService.selectHomeList();
                System.out.println(homeList);
        }

}

위와 같이 하면 JUnit 테스트를 실행할  @RunWith SpringJUnit4ClassRunner 클래스가 @ContextConfiguration 적어 놓은 파일들을 같이 실행시킵니다. root-context.xml servlet-context.xml 실행시켜  등록과 의존 주입을 실행시키는 것입니다. 이렇게 되면 @Mapper 등록되어 DB정보를 가져오는 selectHomeList 메서드를 테스트할  있습니다.

 

만약에 servlet-context.xml 에서 오류가 난다면 <mvc:annotation-driven> <context:component-scan> 태그를 root-context.xml 옮겨 놓고 root-context.xml 실행시켜 보시면 됩니다.

반응형