Лучший способ написать сценарий в корнишонах - PullRequest
2 голосов
/ 20 октября 2019

Только что начал с корнишонов, и мне нужно написать сценарии корнишонов для моего API отдыха.

Существует сценарий, когда пользователь вводит идентификатор клиента и идентификатор заказа, а остальные ссылки на сервисные идентификаторы заказа с идентификатором клиента на основе некоторыхчеки. Затем он возвращает полную информацию о заказе.

Сценарий корнишонов, который я цитировал, выглядит следующим образом:

Scenario: Associate an order to customer
    When User provides order to attach to customer
    Then User should get the associated order details

Теперь, если идентификатор клиента или заказа недействителен, остальной вызов ответит с помощьюсоответствующее сообщение об ошибке.

Должен ли я использовать GIVEN, чтобы убедиться, что идентификатор клиента и заказа существует?

GIVEN: выход клиента с идентификатором "abc" И выход заказа с идентификатором "bcd"

Есть ликакое значение здесь дано? Как лучше написать этот пример сценария?

1 Ответ

1 голос
/ 22 октября 2019

Да, вы должны предоставить Given, который создает клиента и заказ. Вы на самом деле хотите два шага для этого, один для создания клиента, а другой для создания заказа:

Scenario: Associate an order to customer
    Given a customer exists
    And an order exists
    When User provides order to attach to customer

Я думаю, что вам нужны два сценария, на самом деле. Один, утверждающий клиента и заказ, связан друг с другом, а другой - для подтверждения деталей:

Scenario: Associate an order to customer
    Given a customer exists
    And an order exists
    When User provides order to attach to customer
    Then the customer should be associated with the order

Scenario: Retrieving the order details after associating a customer to an order
    Given a customer exists
    And the following order exists:
        | Field | Value |
        | A     | 1     |
        | B     | 2     |
        | C     | 3     |
    When User provides order to attach to customer
    Then User should receive the following order information:
        | Field | Value |
        | A     | 1     |
        | B     | 2     |
        | C     | 3     |

Теперь у каждого теста есть только одна причина для сбоя. Если заказ не связывается с клиентом, но в любом случае возвращает информацию о заказе, сценарий, связанный с клиентом, связанным с заказом, не будет выполнен. Сценарий утверждения деталей заказа будет продолжать проходить. Это поможет вам отладить тестовый сбой.

Кроме того, если изменяются требования к возвращаемым деталям заказа, но не изменяются требования по связыванию клиента с заказом, сценарий получения сведений о заказе будетсбой, в то время как сценарий связывания клиента с заказом продолжает проходить. Опять же, это помогает сузить точку сбоя в приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...