【问题标题】:How to validate response with dredd?如何使用 dredd 验证响应?
【发布时间】:2014-03-20 08:38:51
【问题描述】:

我正在尝试使用用蓝图编写的文档检查我的 api 实现。我预计当从服务器返回的 json 与文档中指定的不同时,dredd 会失败。为了检查这一点,我复制了dredd-example。首先,我使用原始 apib 文件运行了 dredd,以确保一切都是绿色的。然后我修改了文档中的响应,并期望 dredd 向我显示一些红色......但它没有......看起来工具只检查响应标头而不是响应正文。这是控制台的输出:

pass: GET /machines duration: 18ms
request:
host: localhost
port: 3000
path: /machines
method: GET
headers:
    User-Agent: Dredd/0.2.1 (Darwin 13.0.0; x64)



    expected:
    headers:
        Content-Type: application/json

    body:
    [
      {
        "_id": "52341870ed55224b15ff07ef",
        "type": "bulldozer",
        "name": "willyxxxxxx"  #HERE IS WHERE I CHANGED RESPONSE IN DOCUMENTATION
      }
    ]
    status: 200


    actual:
    headers:
        x-powered-by: Express
        content-type: application/json
        content-length: 95
        date: Thu, 20 Mar 2014 08:22:40 GMT
        connection: keep-alive

    body:
    [
      {
        "_id": "532aa5507dcdfff362931799",
        "type": "bulldozer",
        "name": "willy"
      }
    ]
    status: 200

我可以使用 dredd 检查响应正文吗?我该怎么做?

【问题讨论】:

    标签: apiblueprint apiary dredd


    【解决方案1】:

    在 JSON 体中,Dredd 只检查键而不是值。当您在预期的 JSON 正文文档中更改密钥时,它肯定会失败。

    【讨论】:

    • 谢谢您 - 您是否有链接到上面提到的文档中的哪个位置?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    • 2017-02-23
    相关资源
    最近更新 更多