모든 Behat WebAPIExtension 단계 정의를 Node.js로 변환하고 Webship-JS에 패키징

발행: (2025년 12월 2일 오후 08:27 GMT+9)
3 min read
원문: Dev.to

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 경험은 그대로 유지하면서도 현대적이고 오늘날 실제 프로젝트에 바로 사용할 수 있습니다.

Back to Blog

관련 글

더 보기 »

계정 전환

@blink_c5eb0afe3975https://dev.to/blink_c5eb0afe3975 여러분도 알다시피 저는 다시 제 진행 상황을 기록하기 시작했으니, 이것을 다른…