我开发了一个 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}
在客户注册故事中移动清理步骤也不是一种选择,因为登录故事将停止工作。
提前致谢。
PS 正如您在现实中可能猜到的那样,我们创建的故事更复杂,重构它们并非易事,但我很高兴这样做以获得真正的收益。