JUnit

Mixer·2022년 7월 13일

JUnit이란?

JUnit은 Java 언어로 만들어진 애플리케이션을 테스트하기 위한 오픈 소스 테스트 프레임워크이다
사실상 Java의 표준 테스트 프레임워크라고 해도 과언이 아니다.

테스트 결과는 Test 클래스로 개발자에게 테스트 방법 미 클래스의 History를 공유가 가능하다
Assert Method로 테스트 케이스의 수행 결과를 판별하며, JUnit4 버전부터 어노테이션으로 간결하게 지원했다
현재는 JUnit5 버전이 나왔다

기본 어노테이션

@Test
: 테스트를 만드는 모듈 역할
@DisplayName
: 테스트 클래스 또는 테스트 메서드의 사용자 정의 표시 이름을 정의
@ExtendWith
: 사용자 정의 확장명을 등록하는데 사용
@BeforeEach
: 각 테스트 메서드 전에 실행됨을 나타냄
@AfterEach
: 각 테스트 메서드 후에 실행됨을 나타냄
@BeforeAll
: 현재 클래스의 모든 테스트 메서드 전에 실행됨을 나타냄
@AfterAll
: 현재 클래스의 모든 테스트 메서드 후에 실행됨을 나타냄
@Disable
: 테스트 클래스 또는 메서드를 비활성화

JUnit을 사용한 테스트 케이스 기본 구조

public class JunitDefaultStructure {
    @Test
    public void test1() {
        // 테스트 하고자 하는 대상에 대한 테스트 로직 작성
    }

    @Test
    public void test2() {
        // 테스트 하고자 하는 대상에 대한 테스트 로직 작성
    }

    @Test
    public void test3() {
        // 테스트 하고자 하는 대상에 대한 테스트 로직 작성
    }
}

위 코드를 보면 테스트하고자 하는 대상이 있으면 public void test1(){...} 같은 void 타입의 메서드를 하나 만들고, @Test 어노테이션을 추가해준다.

Use Assertion Method

Assertion은 '예상하는 결과 값이 참(true)이기 바라는 논리적인 표현'이다

assertEquals(x, y)

  • 객체 x와 y가 일치함을 확인합니다.
    x(예상 값)와 y(실제 값)가 같으면 테스트 통과

assertArrayEquals(a, b);

  • 배열 A와 B가 일치함을 확인합니다.

assertFalse(x)

  • x가 false 인지 확인합니다.

assertTrue(x)

  • x가 true 인지 확인합니다.

assertTrue(message, condition)

  • condition이 true이면 message표시

assertNull(o)

  • 객체o가 null인지 확인합니다.

assertNotNull(o)

  • 객체o가 null이 아닌지 확인합니다.

assertSame(ox, oy)

  • 객체 ox와 oy가 같은 객체임을 확인합니다.
  • ox와 oy가 같은 객체를 참조하고 있으면 테스트 통과
  • assertEquals()메서드는 두 객체의 값이 같은지 확인하고, assertSame()메서드는 두 객체의 레퍼런스가 동일한가를 확인합니다. (== 연산자)

assertNotSame(ox, oy)

  • ox와 oy가 같은 객체를 참조하고 있지 않으면 통과

assertfail()

  • 테스트를 바로 실패처리
profile
Minthug'life

0개의 댓글