Как проверить ответ с помощью dredd?

Я пытаюсь проверить свою реализацию API с помощью моей документации, написанной в плане. Я ожидал, что dredd выйдет из строя, когда json, возвращаемый с сервера, будет отличаться от указанного в документации. Чтобы проверить это, я скопировал dredd-example. Сначала я запустил dredd с исходным файлом apib, чтобы убедиться, что все зеленые. Затем я изменил ответ в документации и ожидал, что 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? И как я могу это сделать?


person piotrze    schedule 20.03.2014    source источник


Ответы (1)


В телах JSON Dredd проверяет только ключи, а не значения. Когда вы меняете ключ в ожидаемом теле документа JSON, он определенно не работает.

person Adam Kliment    schedule 24.03.2014
comment
Спасибо за это - у вас есть ссылка на то, где в документации говорится выше? - person category; 19.09.2017