2017-02-14 26 views
1

У меня есть следующие спецификации:Огурец: когда, а затем определение шага более или менее то же самое

Сценарий: Получение лицензии клиента документ
Учитывая У меня есть клиент, без лицензии
Когда я получить лицензия документ
Затем документ лицензии не должен быть получен

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

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

У кого-нибудь есть решение переписать этот сценарий?

+3

Возможно, если вы измените формулировку, это соответствует тому, что вы хотите. «Когда я пытаюсь получить лицензионный документ» – pringi

+0

Вопрос, заданный сейчас, касается не столько программирования, сколько выбора правильной формулировки. – sashoalm

ответ

0

В таких случаях, когда оговорка redundent

Сценарий: Получение лицензии клиента документ
Учитывая У меня есть клиент с без лицензии
Когда я извлечь документ лицензии
Затем лицензионный документ не должен быть получен

Вставьте попытку выполнения кода caluse в try catch. В уловке положите успех. В try-блоке в конце возникает исключение.

+1

По-моему, всегда должно быть какое-то действие. Так что я не могу просто забыть о When заявлении ... Другого варианта: Учитывая У меня есть клиент с без лицензии Когда я пытаюсь получить лицензионный документ Затем документ лицензии не должен быть получен Но это не звучит правильно, потому что вы просто не можете «попробовать» что-то. Это не действие. – Fischmeister

+0

Охотник не является правильной грамматикой английского языка. Речь идет о наличии тестового сценария, который легко понимается BAS и который может быть двойной в качестве документации. Specflow или любой другой уловник. обрабатывает данные/когда/тогда как то же самое, на самом деле они просто линяют префикс. Так что это сводится к тому, что просто. Вы можете иметь все три статусы, уловить исключение в предложении When и проверить существование исключения в предложении then. Но зачем писать столько кода для проверки другого кода? Кто будет охранять охранников? – inquisitive

0

Нет жесткого и быстрого правила о том, как вы пишете сценарии, нет никакого стандартного формата в огурцах. Но, gherkin, специально для того, чтобы иметь и делать нетехнические, такие как BA, держатели стеков, нетехнические менеджеры, понимают, что такое тест. Чем точнее вы используете предложения, тем понятнее и значимее.

Если вы не собираетесь писать шаги понятным образом, нет необходимости реализовывать gherkin. Вы можете просто закодировать его в рубине или Java и позволить BA и т. Д. Понять код самостоятельно.

В вашем случае использование When на третьем этапе имеет больше смысла, чем then.

  • When именно для описания ключевых действия пользователя/Program выполняет.

  • Целью Then шагов является наблюдение за результатами.

    Scenario: Retrieve customer license document 
    Given I have a customer with no license 
    `When` I retrieve the license document 
    Then the license document should not be retrieved 
    
0

Так у вас есть сценарий, как это:

Scenario: Retrieve customer license document 
    Given I have a customer with no license 
    When I retrieve the license document 
    Then the license document should not be retrieved 

BDD все о связи между командой разработчиков и бизнеса. Что бы бизнес описал поведение системы?

ли они что-то сказать, как это ?:

Scenario: Customer has no license 
    Given Carl the Customer has no license 
    When Bernadette the Business User attempts to retrieve Carl the Customers licence document 
    Then Bernadette the Business User should see no license document for this customer 
0

Сценарий: Убедитесь, что лицензионный документ не должен получить, когда клиент не имеет лицензии

Учитывая У меня есть клиент с без лицензии - Учитывая объясняет, что у вас есть

Когда я получить лицензионный документ - Когда объясняет, что вы пытаетесь сделать

Затем убедитесь, что т его лицензионный документ не следует извлекать --- это конечный результат сценария