워밍업 클럽 2기 BE 클린코드&테스트 발자국 3주차
강의 : Practical Testing: 실용적인 테스트 가이드
테스트의 필요성
잘 만든 테스트로 인하여 신뢰성 있는 소프트웨어를 만들 수 있다
잘 만든 테스트로 인하여 과감한 수정 및 리팩토링이 가능하다
테스트 코드 자체가 문서가 된다
자동화 테스트와 JUnit
테스트를 만드는 것 자체도 비용이 들기에 사람이 수동으로 하기 보다는 자동화 테스트가 필요함
테스트를 빠르고 여러번 실행 가능하도록 하도록 JUnit이 돕는다
테스트 어려운 영역을 분리
테스트는 반복가능하며 항상 성공하는 테스트여야 한다
시간, 랜덤 등의 성격의 경우 매개변수로 주입하여서 테스트 힘든 부분을 분리하여 테스트가 가능하다
TDD
실패하는 테스트를 만든다
테스트를 성공 시킨다
리팩토링
아래의 3단계를 짧은 사이클로 가져가면서 점차적으로 개발이 가능하다
DisplayName
테스트는 요구사항을 잘 드러내는 문서의 역할도 겸하기 때문에 Display name을 잘 지어야 한다
~ 테스트가 아닌 문장으로 끝내며 주어, 목적, 결과가 다 드러나도록 기재해야 한다
BDD
given, when, then 3단계에 나눠거의 : Practical Testing: 실용적인 테스트 가이드
테스트의 필요성
잘 만든 테스트로 인하여 신뢰성 있는 소프트웨어를 만들 수 있다
잘 만든 테스트로 인하여 과감한 수정 및 리팩토링이 가능하다
테스트 코드 자체가 문서가 된다
자동화 테스트와 JUnit
테스트를 만드는 것 자체도 비용이 들기에 사람이 수동으로 하기 보다는 자동화 테스트가 필요함
테스트를 빠르고 여러번 실행 가능하도록 하도록 JUnit이 돕는다
테스트 어려운 영역을 분리
테스트는 반복가능하며 항상 성공하는 테스트여야 한다
시간, 랜덤 등의 성격의 경우 매개변수로 주입하여서 테스트 힘든 부분을 분리하여 테스트가 가능하다
TDD
실패하는 테스트를 만든다
테스트를 성공 시킨다
리팩토링
아래의 3단계를 짧은 사이클로 가져가면서 점차적으로 개발이 가능하다
DisplayName
테스트는 요구사항을 잘 드러내는 문서의 역할도 겸하기 때문에 Display name을 잘 지어야 한다
~ 테스트가 아닌 문장으로 끝내며 주어, 목적, 결과가 다 드러나도록 기재해야 한다
BDD
given, when, then 3단계에 나눠서 테스트를 작성하도록 한다
given
테스트에 필요한 객체 및 데이터를 생성한다
when
테스트하고자 하는 내용을 실행한다
then
assertj 단언문을 이용하여 테스트하고자 하는 내용을 확인한다
댓글을 작성해보세요.