我在这里寻找建议或最佳实践。
有时我想使用不同的介词为 2 个不同的步骤提供相同的正则表达式/短语。Given
我经常看到的案例是一个在两个方面和Then
步骤上都有意义的短语。
Given
用于执行和操作的步骤(设置测试状态)。并Then
用于验证状态但不执行操作的步骤。我经常发现相同的措辞对两者都适用。此类短语的一个示例是“我已登录”
这是一个人为的场景
Scenario: Login is saved between sessions.
Given I am logged in
When I exit the application
And I start the application
Then I am logged in
当然,这在步骤定义中不起作用,因为 cucumber 不区分步骤谓词。
我玩弄了在所有碰撞Then
步骤中添加“验证”,或在所有重复Given
步骤中添加“那个”。但没有什么是正确的。
Given that I am logged in.
...
Then verify I am logged in.
它当然有效,但我觉得我错过了一些不需要在我的大部分步骤中使用相同的“扩展谓词”的东西。