Я разработал историю jBehave, чтобы протестировать рабочий процесс, реализованный в нашей системе. Допустим, эта история называется customer_registration.story.
Эта история является отправной точкой для некоторых других более сложных рабочих процессов, поддерживаемых нашей системой. Эти более сложные рабочие процессы также рассматриваются в разных историях. Допустим, у нас есть один из наших более сложных рабочих процессов, описанных в customer_login.story.
Итак, customer_login.story будет выглядеть примерно так:
Story: Customer Login
Narrative:
In order to access ABC application
As a registered customer
I want to login into the application
Scenario: Successfully login into the application
GivenStories: customer_registration.story
Given I am at the login page
When I type a valid password
Then I am able to see the application main menu
Все работает отлично и я доволен этим.
3. История в пункте 1 выше (регистрация клиентов) — это то, что мне нужно запустить на разных наборах данных. Допустим, наша система поддерживает i18n, и нам нужно проверить, что история регистрации клиентов работает нормально для всех поддерживаемых языков, скажем, мы хотим проверить, что наша регистрация клиентов работает нормально как с en-gb, так и с zh-tw.
Поэтому мне нужно реализовать multi_language_customer_registration.story, которая будет выглядеть примерно так:
Story: Multi language customer registration
Narrative:
In order to access ABC application
As a potential customer
I want to register for using the application
Scenario: Successfully customer registration using different supported languages
GivenStories: customer_registration.story
Then some clean up step so the customer registration story can run again
Examples:
|language|
|en-gb |
|zh-tw |
Любая идея о том, как я мог бы достичь этого? Обратите внимание, что что-то вроде ниже не вариант, так как мне нужно выполнить шаг очистки между запусками.
GivenStories: customer_registration.story#{0},customer_registration.story#{1}
Перемещение шага очистки внутрь истории регистрации клиента также не вариант, так как тогда история входа перестанет работать.
Заранее спасибо.
P.S. Как вы могли догадаться, на самом деле истории, которые мы создали, более сложны, и их рефакторинг — непростая задача, но я рад сделать это для реальной выгоды.