Тесты, управляемые данными, в огурце
-
20-09-2019 - |
Вопрос
Я должен проверить приложение для обозначения сообщений, функциональность которой в целом заключается в следующем: - Сообщение отправляется в приложение - Приложение Examines Message - Сообщение отправляется где -то, основываясь на содержании сообщения
Подавляющее большинство испытательных случаев почти идентичны; Создайте определенный тип сообщения, загрузите его в систему, подождите несколько секунд, затем проверьте необходимое место назначения, чтобы убедиться, что сообщение было правильно отправлено.
Вместо того, чтобы генерировать 100-е годы почти идентичных испытательных случаев в огурце, есть ли рекомендуемый способ генерировать один тестовый пример и многократно проходить через все когтей (сообщение, обязательное_отражное)? Я бы предпочел, чтобы эти кортежи поддерживали файл YAML, а не в базу данных, для простоты обслуживания, но любое решение было бы в порядке.
Решение
Тебе стоит попробовать Сценарий с использованием Примеры
Нормальный сценарий
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
Другие советы
У меня нет такой ситуации в огурце, но я использую отдельные файлы труб в спецификациях для массового тестирования данных, надеюсь, это поможет:
Вы можете найти примеры Здесь, в описании Dameraulevenshteinmod а также Здесь, в read_test_file
Я не понимаю, почему один и тот же подход не может быть использован и для огурца.