모든 Behat WebAPIExtension 단계 정의를 Node.js로 변환하고 Webship-JS에 패키징
Source: Dev.to
Behat의 WebAPIExtension은 Gherkin 스텝을 사용해 JSON 기반 API를 테스트하는 간단하고 효과적인 방법이었습니다. 2025년 7월 14일에 저장소가 소유자에 의해 아카이브되고 읽기 전용이 되었으며, 이는 더 이상 유지 관리되지 않지만 목적 자체는 포기되지 않았다는 의미입니다.
Webship.co에서는 이 확장의 구조화된 API 테스트 접근 방식에 큰 가치를 보았습니다. 사라지게 두지 않고, 모든 스텝 정의를 Node.js로 다시 구현하고 Webship‑JS에 직접 통합했습니다.
WebAPIExtension을 복원할 가치가 있었던 이유
- API 테스트를 읽기 쉽고 이해하기 쉽게 만들었습니다.
- 헤더 설정, JSON 본문 전송, 상태 코드 확인, 응답 검증을 지원했습니다.
- 팀이 간단한 Given / When / Then 형식으로 API 동작을 기술하도록 도왔습니다.
우리는 이러한 강점을 모두 유지하면서 개선했습니다.
Webship‑js의 새로운 기능
다시 만든 API 스텝은 이제 다음을 지원합니다:
- 헤더 및 요청 본문 설정
- 모든 HTTP 메서드 전송 (GET, POST, PUT, DELETE, …)
- 상태 코드 검증
- 중첩 필드를 포함한 JSON 응답 매칭
- 응답 헤더 확인
- 매처 패턴 사용 (정규식, 배열 길이, JWT 등)
예시
When I send a POST request to "/users" with values:
| name | John Doe |
| email | john@example.com |
| age | 30 |
스텝에 대한 전체 문서는 여기에서 확인할 수 있습니다:
https://webship.co/docs/webship-js/1.0.x/api-step-definitions
결론
원래의 WebAPIExtension은 이제 아카이브되었지만, 그 가치는 계속됩니다.
Node.js로 재구성한 덕분에 Webship‑JS가 이를 다시 가져왔습니다 — 더 깔끔하고 빠르며 적극적으로 유지 관리됩니다. 익숙한 BDD API 경험은 그대로 유지하면서도 현대적이고 오늘날 실제 프로젝트에 바로 사용할 수 있습니다.