Таблицы данных с разным количеством элементов в набросках сценария с несколькими примерами в Cucumber. Является ли это возможным? - PullRequest
2 голосов
/ 13 марта 2020

У меня есть четыре очень похожих раздела в моем приложении, и я пытаюсь сгруппировать тесты, которые достаточно похожи, используя схему сценария, чтобы облегчить обслуживание, и я даю раздел (страницу), под которым они должны быть в качестве параметра. Тем не менее, эти тесты, когда они написаны по отдельности, содержат различное количество элементов в соответствии с данными (но все еще делают те же утверждения), поэтому мне было интересно, возможно ли иметь разные базы данных для каждого раздела примеров?

Что-то вроде :

Scenario Outline: Verify that the user is able to see the details recorded on the note 
And I navigate to the "<page>" screen
Then the following items are displayed for their respective fields

@page1
Examples:
Then the following items are displayed for their respective fields
  | field   | text       |
  | title   | My title   |
  | history | My history |

@page2
Then the following items are displayed for their respective fields
  | field   | text       |
  | comment | My comment |
  | details | My details |
  | status  | My status  |

Примечание. Я опускаю параметр страницы, поскольку не уверен, где он должен go, так как если бы выполнить что-то подобное ниже, это означало бы, что они будут выполняться несколько раз в каждом примере

@page1
Examples:
Then the following items are displayed for their respective fields
  | page  | field   | text       |
  | page1 | title   | My title   |
  | page1 | history | My history |

У меня тоже не может быть что-то вроде:

Scenario Outline: Verify that the user is able to see the details recorded on the note 
Then the following items are displayed for their respective fields

@page1
Examples:
Then the following items are displayed for their respective fields
  | field   | text  | item1 | item2 |

Поскольку эти суммы меняются, я могу тестировать три элемента для страницы, но два элемента на другой и, возможно, четыре на другой.

Надеюсь, я достаточно ясно понимаю, чего я пытаюсь достичь?

Большое спасибо.

1 Ответ

2 голосов
/ 14 марта 2020

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

Scenario: Details of the note can be seen on page1 and page2
  Given Claire has created a note
   | property | value    | 
   | title    | My title |
   | ect ....
  When she views the notes details
  Then on "Notes Overview" she can see:
   | field   | text       |
   | title   | My title   |
   | history | My history |
  And on "Note Details" she can see:
   | field   | text       |
   | comment | My comment |
   | details | My details |
   | status  | My status  |

На шаге Given создайте пользователя с именем Claire, откройте приложение и создайте заметку. На шаге When вы переходите на нужную страницу, а на шагах Then вы проверяете, видны ли нужные вещи в нужных полях.

...