inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

세번째 발자국 👣

nnahye
0

테스트는 왜 필요할까?

-테스트를 통해 얻고자 하는것

단위테스트

작은 코드단위를 독립적으로 검증하는 테스트

검증속도가 빠르고, 안정적이다

테스트 케이스 세분화하기

해피케이스

예외케이스

경계값 테스트 ( 범위(이상,이하,초과,미만)구간 날짜 등)

테스트하기 어려운 영역을 분리하기

테스트하기 어려운 영역

-> 관측할 때마다 다른 값에 의존하는 코드

-> 외부세계에 영향을 주는 코드

TDD : Test Driven Development

프로덕션 코드보다 테스트 코드를 먼저 작성하여 테스트가 구현과정을 주도하도록 하는 방법론

레드: 실패하는 테스트 작성 -> 그린: 최소한의 코딩 -> 리팩터: 구현코드 개선 테스트 통과유지

클라이언트 관점에서의 피드백을 주는 Test Driven

테스트는 []다

프로덕선 기능을 설명하는 테스트 코드 문서

DisplayName을 섬세하게

-명사의 나열보다 문장으로

-테스트 행위에 대한 결과까지 기술하기

-도메인 용어를 사용하여 한층 추상화된 내용을 담기

-테스트 현상을 중점으로 기술하지 말것

BDD 스타일로 작성하기

-TDD에서 파생된 개발 방법

-함수 단위의 테스트 보다 시나리오에 기반한 테스트케이스자체에 집중

-개발자가 아닌 사람이 봐도 이해할수 있을 정도의 추상화 수준을 권장

Given / When / Then

Layerd Architecture와 테스트

Layerd Architecture -> 관심사의 분리

Persistence Layer

Data에 대한 CRUD에만 집중한 레이어

Business Layer


테스트 코드 작성하기 미션 회고

이렇게 하는 것이 맞는지 계속 의문이 들었다. DisplayName을 짓는 것도 어렵고 쉽지 않았다. 예외 케이스를 생각하는게 쉽지않았다.

답변 0