시나리오 기반으로 테스트케이스를 작성하며 함수 단위 테스트 권장 x.
하나의 시나리오는 Given, When, Then 구조를 가지는 기본패턴을 권장
Feature : 테스트에 대상의 기능/책임을 명시
Scenario: 테스트 목적에 대한 상황을 설명합니다.
Given : 시나리오 진행에 필요한 값을 설정
When : 시나리오를 진행하는데 필요한 조건을 명시
Then : 시나리오를 완료했을 때 보장해야 하는 결과를 명시
EX) 테스트 대상은 A상태에서 출발하며(Given) 어떤 상태 변화를 가했을 때 (When) 기대하는 상태로 완료되어야 합니다.(Then)
정리를 했던 이유는 지금은 잘린 전 회사에서 오픈소스를 기반으로 개발을 진행중이었는데 그 오픈소스중에 PHP의 BDD툴이라고 알려진 Behat을 이용한 테스트케이스가 있었기 때문에 알고만 있었다가 어느 회사의 기술블로그를 보고 아 이게 BDD구나 깨닫게 되어 정리한 것. 한참 알아볼때도 느꼈지만 PHP쪽의 테스트툴이나 도구에 대한 레퍼런스 찾기가 어려웠던것 같다.