作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在这里寻找建议或最佳实践。
有时我想使用不同的介词为 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
Then
步骤,或在所有重复的
Given
中添加“那个”脚步。但没有什么是正确的。
Given that I am logged in.
...
Then verify I am logged in.
最佳答案
我有同样的问题,这是我得到的答案:
步骤定义必须是唯一的,Cucumber 才能知道要执行什么。此外,Given/When/Then 关键字在技术上是可互换的。它们是为了功能文件的可读性,但与实现无关。所以如果两个步骤(Given 和 Then)都做同样的事情,技术上没有问题;您应该能够使用特征文件中的相同步骤定义,前面是“Given”或“Then”关键字。也就是说,您可能需要考虑重写步骤定义以描述预期行为而不是实现,例如“给定一个 id 为 xxx 的元素”
关于cucumber - 为 `Given` 和 `Then` 步骤定义相同的短语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15123431/
我是一名优秀的程序员,十分优秀!