조에게 묻는다 BDD나 Cucumber는 어떤가?
행동 주도 디자인(Behavior Driven Design, BDD)은 사용자 관점에서 시스템 동작에 중점을 두는 테스트 스타일이며, Cucumber는 매우 인기 있는 라이브러리로 널리 사용되고 있다.
DDT가 새로 도입한 것은 서로 다른 프로토콜에 대해 동일한 테스트를 실행하도록 강요하는 것이다.
라이브러리 얘기가 나와서 말인데 Cucumber로 DDT를 작성하는 것은 확실히 가능하지만, 어차피 약간의 코딩이 필요하다. 게다가 액터와 액션을 각각의 메서드와 함께 별도의 클래스로 정의하는 것이 Cucumber처럼 텍스트 파싱에 의존하는 것보다 더 깔끔한 테스트를 만들어준다고 생각한다. 적어도 우리에게는 이 방법이 효과적이었지만, 여러분은 다른 접근 방식을 선호할 수도 있다.
언제나 그렇듯 중요한 것은 도구가 아니라 원칙이다.
앞으로 살펴보겠지만, 이러한 이유로 Pesticide에서는 시나리오 액터에서 비롯된 단계 목록으로 테스트를 작성해야 한다.
시나리오
인수 테스트를 Pesticide를 통해 DDT로 변환하는 방법을 살펴보자. 앞에서 수행해둔 작업들 덕분에 이 과정은 매우 간단하다.