Карате не отображает ответ после запроса POST со статусом 201 - PullRequest
2 голосов
/ 14 мая 2019

Я борюсь со следующим тестом, который обычно довольно прост ...

Feature: Testing Env Create Feature

  Scenario Outline: Create works as intended

    Given url "http://localhost:10000/api/envs"
    And request {"name": <Name>,"gcpProjectName": <GcpProjectName>,"url": <Url>}
    When method POST
    Then status 201
    And match response contains {"id": #string, "name": <Name>,"gcpProjectName": <GcpProjectName>,"url": <Url>}

    Examples:
      | Name     | GcpProjectName                | Url              |
      | tests    | D-COO-ContinuousCollaboration | https://fake.com |
      | approval | Q-COO-ContinuousCollaboration | https://fake.com |
      | demo     | P-COO-ContinuousCollaboration | https://fake.com |
      | prod     | P-COO-ContinuousCollaboration | https://fake.com |

Я должен получить ответ с кратким изложением моего POST-запроса, который я успешно получил с помощью curl, Postman или даже Swagger, но он не отображается при каратэ:

[failed features:
src.test.features.envtest.env-create: [1.1:13] env-create.feature:9 - path: $, actual: '', expected: '{"id":"#string","name":"tests","gcpProjectName":"D-COO-ContinuousCollaboration","url":"https://fake.com"}', reason: not a sub-string

Кто-нибудь знает, что происходит?

Спасибо за вашу помощь.

Ответы [ 2 ]

1 голос
/ 14 мая 2019

Просто добавьте кавычки вокруг подстановок строк:

And request {"name": "<Name>", "gcpProjectName": "<GcpProjectName>", "url": "<Url>" }
0 голосов
/ 15 мая 2019

У меня та же проблема с вашим советом, @ PeterThomas

src.test.features.envtest.env-create: [1.1:13] env-create.feature:9 - path: $, actual: '', expected: '{"name":"tests","gcpProjectName":"D-COO-ContinuousCollaboration","url":"https://fake.com"}', reason: not a sub-string

Стоит отметить, что даже когда я * print response, ничего не появляется вообще. С другой стороны * print responseHeaders отлично работает.

Может ли это иметь какое-либо отношение к статусу 201 и к каратэ, не получающему данные обратно? Я написал множество тестов POST, которые прекрасно работают со статусом 200 , но это второй, который я пишу, который включает статус 201 и "невидимый" ответ.

...