1

我正在尝试使用用蓝图编写的文档检查我的 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 检查响应正文吗?我该怎么做?

4

1 回答 1

2

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

于 2014-03-24T12:06:49.457 回答