[내일배움캠프_Spring] 자바 Spring 입문_테스트코드_221221

2022. 12. 21. 23:47·스파르타 부트캠프(spring)

Test Code를 작성하는 이유

1.깔끔한 코드를 얻기 위해

2.시간의 단축

  • 테스트 코드 작성 후 테스트를 할때는 필요한 데이터들을 그때 그때 넣을 필요 없이 코드를 수정하고 바로 테스트코드를 실행하면 된다.

3.문서로서의 역할이 가능 

  • 개발자가 작성한 메소드가 어떻게 동작하고 어떤 결과를 반환하는지를 작성한 것이기 때문에 처음 코드를 보는 개발자들이 코드의 동작을 조금 더 수월하게 이해할 수 있다.

 

 

테스트 코드 작성법

예를 들어 Member 객체의 join()이라는 메소드에 매개변수로 String 타입의 name을 전달하여 호출

-->"환영합니다"를 반환한다.

public class MemberTest {
    @Test
    public void join() throws Exception {
        //given
        String name = "홍길동";
        Member member = new Member();
        //when
        String result = member.getName();
        //then
        assertThat(result, is("환영합니다"));
    }
}
  1. given, when, then
    : 어떤값이 주어지고(given), 무엇을 했을 때(when), 어떤 값을 원한다(then).

  2. 모든 response에 대한 테스트 진행
    -api(테스트 대상) 수정될 경우 테스트코드가 실패하면서 항상 올바른 테스트 코드를 유지할 수 있게 도움을 준다.
    -api 변경 시 테스트코드 역시 변경된다.
    -테스트코드는 커버리지가 높을수록 좋음. 정상적으로 작동하는 부분만이 아닌 실수나 오류를 발견하고 수정할 수 있어야 한다.

  3. FIRST
    -Fast 
    : 단위테스트는 가능한 빠르게!
    -Independent
    : 객체의 상태, 메소드, 이전 테스트 상태, 다른 메소드의 결과 등에 의존해서는 안됨. 어떠한 순서로 실행되어도 성공해야 함.
    -Repeatable
    : 반복이 가능해야 함.
    -Self-Validating
    : 자체검증이 가능해야함. 개발자의 수동확인 필요 없이 성공여부가 결과로 나타나야 함.
    -Timely
    : 단위테스트를 통과하는 제품코드가 작성되기 바로 전에 단위테스트를 작성해야 한다. 

 

'스파르타 부트캠프(spring)' 카테고리의 다른 글

[내일배움캠프] 자바 Spring 입문_cache_221230  (0) 2023.01.01
[내일배움캠프] 자바 Spring 입문_Rest API_221222  (0) 2022.12.22
[내일배움캠프_Spring] 자바 Spring 입문_221220  (0) 2022.12.21
[내일배움캠프_Spring] 자바 Spring 입문_221219  (0) 2022.12.19
[내일배움캠프_spring] 주간회고 WIL - 6주차  (0) 2022.12.18
'스파르타 부트캠프(spring)' 카테고리의 다른 글
  • [내일배움캠프] 자바 Spring 입문_cache_221230
  • [내일배움캠프] 자바 Spring 입문_Rest API_221222
  • [내일배움캠프_Spring] 자바 Spring 입문_221220
  • [내일배움캠프_Spring] 자바 Spring 입문_221219
yeah구리
yeah구리
백엔드를 공부하는 초심자입니다.
  • yeah구리
    개발일지_헤맨만큼 내땅이다
    yeah구리
  • 전체
    오늘
    어제
    • 분류 전체보기 (114)
      • 스파르타 부트캠프(spring) (75)
      • 스파르타 기술면접 (10)
      • 코딩연습 (0)
      • 항해 (10)
      • 개발일지 (4)
        • 개인 회고 (1)
        • 개발로그 (실무) (2)
      • 공부노트 (0)
      • 코딩테스트 (0)
        • 프로그래머스 (0)
        • 백준 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    X(Twitter) API #캐싱 #트러블슈팅 #개발
    비전공개발자 #개발로그 #커리어
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
yeah구리
[내일배움캠프_Spring] 자바 Spring 입문_테스트코드_221221
상단으로

티스토리툴바