Chapter 2-2


  • JUnit

(p161 ~ p183)



JUnit

참고 : http://www.nextree.co.kr/p11104/


JUnit이란 단위 테스트 프레임 워크중 하나이다. 테스트 케이스를 작성하여 테스트를 자동화 할 수 있다. JUnit은 @Test 어노테이션을 통해 간단하게 작성할 수 있어서 많이 사용되는 단위 테스트 프레임워크이다.

JUnit 수행 방법은 다음과 같다.

  1. 테스트 클래스에서 @Test 어노테이션이 붙고 public에 리턴 타입이 void이고 파라미터가 없는 메소드를 찾는다.
  2. @BeforeClass가 붙은 메소드가 있으면 실행한다.
  3. 테스트 클래스의 인스턴스를 생성한다.
  4. @Before가 붙은 메소드가 있으면 실행한다.
  5. @Test가 붙은 메소드 하나를 호출하고 테스트 결과를 저장한다.
  6. @After가 붙은 메소드가 있으면 실행한다.
  7. @Test가 붙은 메소드를 모두 수행할 때까지 3 ~ 6번을 반복한다.
  8. @AfterClass가 붙은 메소드가 있으면 실행한다.
  9. 모든 테스트의 결과를 반환한다.


주의할 점은 각 @Test가 붙은 메소드를 수행할 때마다 새로운 테스트 클래스 인스턴스를 생성한다는 것이다. 위 설명에서 매 @Test 메소드를 실행할 때마다 새로운 인스턴스를 생성하고 @Before -> @Test -> @After 순으로 메소드를 실행한다는 걸 알 수 있다. 이 같은 특징은 각 @Test 메소드가 별개로 동작할 수 있도록 해준다. 테스트 클래스에서 인스턴스 변수를 사용하더라도 별개의 인스턴스를 생성하여 실행하기 때문에 모두 별개의 환경에서 실행 할 수 있는 것이다. 테스트 코드를 작성할 때 이 점을 유의하며 작성해야 한다.