Как мне сделать утверждение перед действием в корнишоне? - PullRequest
0 голосов
/ 06 июля 2019

У меня есть веб-сайт, который открывает диалоговое окно, в которое можно добавлять строки информации, например, электронную таблицу.В окне отображается общая сумма, которая складывает столбец элементов в таблице (до того, как пользователь нажмет кнопку «Сохранить»).Когда пользователь завершает редактирование информации, он нажимает кнопку «Сохранить», которая закрывает окно и отправляет информацию на сервер, который обрабатывает данные и обновляет интерфейс с более рассчитанными значениями на основе введенных данных.

Используя Gherkin, Cucumber и nightwatch.js, мне нужно проверить общее отображение в окне до того, как пользователь нажмет сохранить, но мне также нужно проверить значения за пределами окна после того, как пользователь нажмет сохранить.Но из того, что я понимаю о корнишоне, иметь два заявления, когда это плохая практика.Но если бы я разделил его на два сценария, они бы положились друг на друга.

Что у меня сейчас:

Scenario: Modify data in the data window
  Given the window is open
  When I modify the data inside the window
  Then the total amount should reflect that change
  When I click save
  Then the data should save
   And the processed data should reflect my changes

1 Ответ

0 голосов
/ 08 июля 2019

Я бы написал сценарий так:

Scenario: Modify data in the data window
  Given the window is open
  When I modify the data inside the window
  Then the total amount should reflect that change
  And I click save
  And the data should save
  And the processed data should reflect my changes

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

Scenario: Modify data in the data window
  Given the window is open
  When I modify the data inside the window
  Then the total amount should reflect that change

Scenario: Save data in the data window
  Given I have modified data inside the window
  When I click save
  Then the data should save
   And the processed data should reflect my changes
...