JUnit을 이용한 테스트

CHM·2022년 6월 16일
0

Spring

목록 보기
16/26

JUnit

  • JUnit은 보이지 않고 숨겨진 단위 테스트를 끌어내 정형화시켜 단위테스트를 쉽게 해주는 Java에서 지원해주는 프레임워크
  • 단위테스트 : 모든 함수와 메소드에 대한 테스트케이스를 작성하는 절차. 소스코드의 특정 모듈이 의도된 대로 정확히 작동하는 지 검증

JUnit의 특징

  • Assert 메서드로 테스트 케이스의 수행 결과를 판별함
    • assertEquals(예상값, 실제값)
  • jUnit4부터는 테스트를 지원하는 어노테이션 제공
    • @Test, @Before, @After
  • 각 @Test 메서드가 호출할 때마다 새로운 인스턴스를 생성하여 독립적인 테스트가 이루어지도록 함

JUnit 주요 어노테이션

@Test

  • @Test가 선언된 메서드는 테스트를 수행하는 메서드가 됨
  • JUnit은 각각의 테스트가 서로 영향을 주지 않고 독립적으로 실행됨을 원칙으로 하므로 @Test마다 객체를 생성

@Ignore

  • @Ignore가 선언된 메서드는 테스트를 실행하지 않게 함

@Before

  • @Before가 선언된 메서드는 @Test 메서드를 실행하기 전에 반드시 실행
  • @Test 메서드에서 공통으로 사용하는 코드를 @Before 메서드에 선언하여 사용

@After

  • @After가 선언된 메서드는 @Test 메서드가 실행된 후 실행
  • 자원 반납 등에서 사용

@BeforeClass

  • @BeforeClass 어노테이션은 @Test 메서드보다 먼저 한번만 수행되어야 할 경우에 사용
  • 하나의 클래스 속의 메서드들이 수행되기 전에 단 한번만 수행

@AfterClass

  • @AfterClass 어노테이션은 @Test 메서드보다 나중에 단 한번만 수행되어야 할 경우에 사용

JUnit을 사용한 DI 클래스 테스트

assertEquals(a,b);

  • 객체 a,b 일치 확인

assertArrayEquals(a,b);

  • 배열 a,b 일치 확인

assertSame(a,b);

  • 객체 a,b가 같은 객체임을 확인
  • assertEquals는 두 객체의 값이 같은 지 확인하고, assertSame은 두 객체의 레퍼런스가 동일한지를 확인한다.

assertTrue(a);

  • 조건 a가 참인지를 확인

assertNotNull(a);

  • 객체 a가 NULL이 아닌지 확인

이외에도 여러 가지 메서드들이 존재함.

0개의 댓글