CODINGHEIM.log
로그인
CODINGHEIM.log
로그인
단위테스트 작성하기
송수용
·
2022년 6월 16일
팔로우
0
TIL
단위테스트
스파르타코딩
항해99
0
백엔드의 기술
목록 보기
7/11
단위 테스트 작성하기
TDD(
Test-Driven Development
)와 단위테스트의 차이
TDD는 테스트가 주도하는 개발
테스트 코드를 먼저 작성하는 것부터 시작
항상 실패하는 테스트를 먼저 작성한다. (RED)
테스트가 통과하는 프로덕션 코드를 작성한다. (GREEN)
테스트가 통과하면 프로덕션 코드를 리팩토리한다.(REFACTOR)
단위테스트
TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성
TDD와 달리 테스트 코드를 꼭 먼저 작성해야하는 것은 아니다.
리팩토링도 포함되지 않는다.
테스트 코드를 작성해야하는 이유
단위 테스트는 개발단계에서 초기에 문제를 발견하게 도와준다
단위 테스트는 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있다 (회귀 테스트)
단위 테스트는 기능에 대한 불확실성을 감소시킬 수 있다
단위 테스트는 시스템에 대한 실제 문서를 제공한다.
단위 테스트 자체가 문서로 사용될 수 있다.
테스트 코드를 작성하면 자동 검증이 가능하다
개발자가 만든 기능을 안전하게 보호해준다.
기존에 잘되던 A 기능에 문제가 생긴 것을 발견
새로운 기능이 추가 될 때 기존 기능이 잘 작동되는 것을 보장한다.
테스트 코드 작성 프레임 워크
JUnit - Java
DBUnit - DB
Junit과 비교해 assertj의 장점
CoreMatchers와 달리 추가적으로 라이브러리가 필요하지 않다.
Junit의 assertThat을 쓰게 되면 is()와 같이 CoreMatchers 라이브러리가 필요하다.
자동완성이 좀 더 확실하게 지원된다.
IDE에서는 CoreMatchers와 같은 Matcher 라이브러리의 자동완성 지원이 약하다.
송수용
#공부중 #협업 #소통중시 #백엔드개발자 #능동적 #워커홀릭 #스파르타코딩 #항해99 #미니튜터 #Nudge #ENTJ #브레인스토밍 #아이디어뱅크
팔로우
이전 포스트
인증과 인가 토큰 기반 JWT(2)
다음 포스트
JPA로 데이터베이스 다루기
0개의 댓글
댓글 작성
관련 채용 정보