将所有 Behat WebAPIExtension 步骤定义转换为 Node.js,并打包在 Webship-JS 中

发布: (2025年12月2日 GMT+8 19:27)
2 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 正如大家所知,我正重新开始记录我的进展,我认为最好在一个不同的…

Strands 代理 + Agent Core AWS

入门指南:Amazon Bedrock AgentCore 目录 - 前置要求(requisitos‑previos) - 工具包安装(instalación‑del‑toolkit) - 创建…