React Testing Library
💡 React 컴포넌트를 사용자 입장에 가깝게 테스트할 수 있는 도구.
테스트 코드를 통해, 컴포넌트를 사용하는 코드를 작성하면서 해당 컴포넌트의 인터페이스를 점검할 수 있다.
개발하면서도 점검할 수 있지만, 테스트 코드를 먼저 작성했다면 문제를 더 빨리 발견해서 수정할 수 있다.
BDD(Behavior Driven Development) : 행위주도 개발
TDD를 근간으로 파생된 개발 방법
시스템 동작의행위를 기반으로 한다.
테스트를 작성하기 보다는, 아직 존재하지 않은 코드에 대에 명세를 작성하는 것이라고 생각하면 쉽게 이해할 수 있다.
Given-When-Then 패턴
Given : 준비
When : 실행
Then : 검증
Given
테스트를 준비하는 과정 : 테스트에 사용하는 변수, 입력 값을 정의하거나, Mock 객체를 정의한다.
When
실제로 액션을 하는 테스트를 실행하는 과정
Then
테스트를 검증하는 과정 : 예상한 값, 실제 실행을 통해서 나온 값을 검증한다.
Desribe-Context-It
Describe : 설명할 테스트 대상을 명시. 테스트 대상이 되는 클래스, 메소드 이름을 명시. Context :테스트의 대상이 놓인 상황을 설명. 테스트할 메소드에 입력할 파라미터를 설명. It : 테스트 대상의 행동을 설명. 테스트 대상 메소드가 무엇을 리턴하는지 설명.
Mocking
mocking은 단위 테스트를 작성할 때, 해당 코드가 의존하는 부분을 가짜(mock)로 대체하는 기법
외부 의존성이 큰 코드를 작성한다면, 해당 부분만 가짜로 구현할 수 있다.
일반적으로, 백엔드와 소통하는 부분이 차지하는 비중이 큰데, 이 부분을 하나씩 가짜 구현으로 바꾸다 보면 어려울 때가 있다. 이럴 땐 MSW 등 다른 대안을 고려해 봐야 한다.
Last updated