2015-04-23 1 views
0

Мы создаем файлы функций Gherkin для нашего приложения для создания исполняемых спецификаций. В настоящее время у нас есть файлы, которые выглядят следующим образом:Должны ли все поля, видимые на экране, проверяться в Gherkin?

Given product <type> is found 
    When the product is clicked 
    Then detailed information on the product appears 
    And the field text has a value 
    And the field price has a value 
    And the field buy is available 

Мы интересно, если весь этот список and ключевых слов, проверки, если поля будут видны на экране путь, или если мы должны сократить что-то вроде 'validate input'.

ответ

4

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

Чтобы упростить обслуживание и использование элементов, которые мы используем, мы используем схемы сценариев и таблицы примеров.

Scenario Outline: PO Boxes correctly located 
    When we search in the USA for "<Input>"   
    Then the address contains 
     | Label  | Text  | 
     | PO Box  | <PoBox>  | 
     | City name | <CityName> | 
     | State code | <StateCode> | 
     | ZIP Code  | <ZipCode> | 
     | +4 code  | <ZipPlus4> | 

Examples: 
| ID | Input     | PoBox  | CityName | StateCode | ZipCode | 
| 01 | PO Box 123, 12345  | PO Box 123 | Boston | MA  | 12345 | 
| 02 | PO Box 321, Whitefish | PO Box 123 | Whitefish | MN  | 54321 | 

Делая это таким образом, у нас есть общий шаг «содержит адрес», который использует «Ярлык» и «Текст», чтобы проверить отдельные элементы. Это аккуратный и аккуратный способ проверить множество потенциальных комбинаций - но это, вероятно, зависит от вашего индивидуального варианта использования - насколько важны все поля.

1

Вам нужно только подтвердить те, которые обеспечивают стоимость бизнеса, что, вероятно, все они. Я бы избегал использования технических терминов, таких как «поле», потому что это не связано с поведением. Al Mills подходит для использования таблиц.

Я бы слово это так:

Scenario Outline: Review product details 
Given I find the product <Type> 
When I select the product 
Then detailed information on the product appears including 
| Description | <Description> | 
| Price  | <Price>  | 
And I can buy the product 
Examples: 
| Type  | Description  | Price | 
| Hose  | Rubber Hose  | 31.99 | 
| Sprinkler | Rotating Sprinker | 12.99 | 

Слова, которые я выбрал это поведение или Whats, а не технических реализаций или Хау.

Смежные вопросы