Управляемые данными тесты в Cucumber - PullRequest
4 голосов
/ 01 сентября 2009

Мне нужно протестировать приложение для маршрутизации сообщений, функциональность которого в целом выглядит следующим образом: - сообщение отправляется в приложение - приложение проверяет сообщение - сообщение куда-то пересылается на основании содержания сообщения

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

Вместо создания сотен почти идентичных тестовых случаев в Cucumber, есть ли рекомендуемый способ генерировать один тестовый случай и многократно ли он циклически проходить по всем кортежам (message, required_destination)? Я бы предпочел хранить эти кортежи в файле YAML, а не в базе данных, для простоты обслуживания, но любое решение подойдет.

Ответы [ 2 ]

5 голосов
/ 27 октября 2009

Вы должны попробовать Схема сценария , используя Примеры

Нормальный сценарий

Scenario: Login
  Given I am on login page
  When I enter username "Jonas" and password "secrect" and press login
  Then I get redirected to "Jonas Home Page"

План сценария

Scenario Outline: Login
  Given I am on login page
  When I enter username <username> and password <password> and press login
  Then I get redirected to <redirect_page>

Examples:
  | username | password | redirect_page     |
  | "Jonas"  | "secret" | "Jonas Home Page" |
  | "Anna"   | "Data"   | "Annas Home Page" |

Подробнее: https://github.com/cucumber/cucumber/wiki/Scenario-Outlines

0 голосов
/ 01 сентября 2009

У меня нет такой ситуации с огурцом, но я использую файлы, разделенные конвейерами, в спецификациях для массивного тестирования данных, надеюсь, это поможет:

Вы можете найти примеры здесь в описании DamerauLevenshteinMod и здесь в read_test_file

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

...