Table of contents
오늘 한일
ATDD: Q&A 1단계 구현
개인사정으로 학원 수업에는 참여하지 못했지만, 학습문서가 잘 만들어져 있어서 수업을 따라갈 수 있었다.
ATDD: TDD의 단점을 보완하기 위해 인수 테스트(acceptance test)를 먼저 구현하고 단위 테스트를 통해 기능을 완성해 나가면서 애플리케이션을 개발
- TDD 프로세스 유지
- ATDD
- 각 기능을 인수 테스트로 시작
- 코딩을 시작하기 전에 테스트를 작성하면 달성하고자 하는 바가 명확해짐
- 테스트를 작성하면 사용자 관점에서 시스템을 바라보게 되어 사용자의 요구를 이해가능
- 가장 간단한 성공 케이스로 시작
- 입력 -> 출력 순서로 개발
- Ex) Controller => Service => Repository
- ATDD
- 인수 테스트
- 전체 시스템이 동작하는가?
- 시스템 내부 코드를 가능한 한 직접 호출하지 말고 시스템 전 구간을 테스트해야 한다
- 기능 테스트, 고객 테스트, 시스템 테스트와 같은 용어로도 사용됨
- 통합 테스트
- 변경할 수 없는 코드를 대상으로 코드가 동작하는가?
- 서드파티 라이브러리 테스트
- 외부 API에 의존하는 테스트
- 변경할 수 없는 코드를 대상으로 코드가 동작하는가?
- 단위 테스트
- 객체가 제대로 동작하는가?
- ATDD 기반 로그인 기능
- 로그인 성공에 대한 인수 테스트 작성
- LoginController -> UserService 구현
- 사용자 데이터 처리를 위한 User Entity, UserRepository 구현
- 로그인 로직에 단위 테스트 추가해 로직 완료
- 로그인 실패에 대한 인수 테스트 작성
오늘 느낀점
테스트도 종류가 많구나...
내일 할일
- 로또 4단계 피드백 요청
- 사다리 1단계 피드백 반영
- 플러터 1/4/7/14 앱 기능 설계