2016-11-21 8 views
2

Учитывая сценарий, который проверяет отправку сообщения стороннему API, я могу повторить некоторые данные, а также результаты с соответствующими результатами, каждому сценарию в этой функции. Это делает каждый сценарий довольно сложным.BDD Должен ли я повторять givens и результаты в последовательных сценариях

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

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

Пример сценария с 2 «общие» данности и 2 «вообще» Гивенс с соответствующими результатами:

Scenario 1: An eligible order 
    Given an order that has been placed yesterday 
    And that has a value > 100 
    And that has an order ID equal to 42 
    And that has an affiliate reference equal to foo 
    When the conversion for the order is sent 
    Then the conversion has an ID equal to 42 
    And the conversion has an affiliate ID equal to foo 

ответ

3

Мой подход был иметь подробный пример в верхней части файла признака, говорят:

Scenario 1: An eligible order 
    Given an order that has been placed yesterday 
    And that has a value > 100 
    And that has an order ID equal to 42 
    And that has an affiliate reference equal to foo 
    When the conversion for the order is sent 
    Then the conversion has an ID equal to 42 
    And the conversion has an affiliate ID equal to foo 

Тогда менее многословные те далее вниз:

Scenario x: An eligible order does something 
    Given an applicable order 
    ... 

С Применительно к порядку шаг, просто вызывающий 4 оригинальные шаги в последовательности.

Это дает более чистые функции, но тесты все еще имеют те же конкретные шаги, что и «под капотом».

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

+0

Мне нравится идея суммировать эти шаги в новом заданном. Благодаря! –