티스토리 뷰

BDD와 TDD의 차이점?


RSpec은 behavior-driven development (BDD) 프로세스에 효과적인 테스트 코드 작성법이다. 개발자가 직접 특징을 읽을 수 있고, 어플리케이션의 유효성을 체크할 수 있다. BDD를 간략하게 요약하자면, BDD는 테스트 케이스를 작성함에 있어서 좀 더 자연어에 가깝게 작성한다는 것이다.

TDD와 BDD가 하는 것은 근본적으로 동일하지만 BDD는 테스트 양식을 함수 단위(코드 단위)가 아닌 어플리케이션 사용자의 행동(소프트웨어 명세)를 기준으로 테스트를 하는 방법입니다.

이런 식으로 테스트 코드를 사용자의 행동에 따라서 분류하는 것이 바로 BDD이다. TDD는 함수를 테스트 단위로 한다면 BDD는 사용자의 시나리오를 단위로 테스트를 한다는 점에서 차이가 있다.



RSpec 가이드 라인을 가지고 학습을 합니다.



함수를 설명하는 방법


어떤 함수를 설명할지 정확하게 명시하라. 인스턴스 함수를 명시할 때는 "#" 을 사용하고, 클래스 메서드를 참조할 때는 "."을 사용한다.




단일 조건 테스트


각 테스트는 한가지만 확인해야 한다 는 것이 핵심입니다. 그래야 에러를 찾을 때 도움이 되고, 실패하는 테스트를 바로 찾을 수 있으며 가독성이 높아집니다.

it으로 테스트 단위를 나누는데, 하나의 예제 안에서도 여러가지의 결과가 예상된다면 테스트가 조금 무거워지더라도 테스트의 속성별로 케이스를 나눌 수 있습니다.



expectation 사용법


제공되는 expectation matcher











































































댓글