잡다한 시리즈/개발

[Java] 테스트 코드 생성하고 돌리기

GGOBOOGI 2023. 2. 12. 19:20
반응형

그렇다. 나는야 자바 테스트코드 돌리는것도 익숙하지 않은 자바 쌩초보 ^-^

 

그래도 오늘 하나 배웠따 주말에 누워서 유튜브 보지 않고 성장했음에 만족. 기록해본다.

 

Java Main/Test

Java의 src 구조는 main과 test로 나뉜다

갓영한 스프링 강의 듣는중임 ㅎㅋ

main에는 요구사항들을 구현한 모든 소스들이 들어가있고, test에는 main에서 구현한 애들을 시험해보기 위한 테스트코드들만이 들어가 있다.

 

Java Test 코드 구조

 

test코드의 경우, 영한님이 말씀하시길 given-when-then 구조로 나누면 좋다고 하셨다.

package hello.core.member;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class MemberServiceTest  {

    MemberService memberService = new MemberServiceImpl();
    @Test
    void join() {
        //given
        Member newMember = new Member(1L, "memberA", Grade.VIP);

        //when
        memberService.join(newMember);
        Member findMember = memberService.findMember(1L);

        //then
        Assertions.assertEquals(newMember, findMember) ;

    }
}
구분 설명
given 주어진 상황에서
when 이러한 일이 일어났을 때
then 예상되는 결과

Java Test code 실행 방법

테스트 클래스 기준, 클래스를 전체 다 실행하여 해당 클래스 내부의 테스트 코드들을 모두 실행해볼 수 있다.

만약 특정  테스트 함수만 실행하고 싶다면, 그 함수만 따로 run 하면 된다.

Java Test code 결과

테스트가 잘 통과된다면, 아래와 같이 초록불이 뜨면서 별 말이 없다.

그러나 만약 테스트에 실패한다면, 노란불이 뜨면서 기대한 바는 이거였는데! 들어온 값은 이거야! 어쩌구저쩌구 말을 해 줄 것이다.

끝.

반응형