테스트 코드 예시

기존 로직

package hello.javatest;

public class Study {

    private StudyStatus status;
    public StudyStatus getStatus() {
        return this.status;
    }
}
package hello.javatest;

public enum StudyStatus {
    DRAFT, STARTED, ENDED
}

테스트 코드

Study를 처음 생성하면 null이 아니고 status가 DRAFT인 테스트를 만들어보겠습니다.

class StudyTest {

    @Test
    void create() {
        Study study = new Study();
        assertNotNull(study);
        assertEquals(StudyStatus.DRAFT, study.getStatus());
    }
}

이제 실행을 해보면 어떻게 될까요?

Untitled

당연히 터지게 됩니다. status에 있는 값이 null이기 때문이죠.

이 때 테스트가 실패하면 메시지를 출력할 수 있습니다.

class StudyTest {

    @Test
    void create() {
        Study study = new Study();
        assertNotNull(study);
        assertEquals(StudyStatus.DRAFT, study.getStatus(), "스터디를 처음 만들면 상태값이 DRAFT여야 한다.");
    }
}

Untitled