gpt4 book ai didi

cucumber 顺序为Given、When、Then(Given、When、Then、When、Then)

转载 作者:行者123 更新时间:2023-12-02 20:14:56 26 4
gpt4 key购买 nike

作为一名端到端自动化测试人员,我一直认为 Given、When、Then 语句(在使用 Cucumber 时合并到 Gherkin 语言中)应该只按 1.Given、2.When、3 的顺序出现.然后。

即测试不应遵循例如“Given”、“When”、“Then”、“When”、“Then”。相反,应该遵循“Given”、“When”、“Then”。

做出这一假设的原因是,单个测试仅测试应用程序的一个区域。

但是,我注意到网上的一些小 cucumber 示例,它们有时使用以下顺序:Given、When、Then、When、Then。

有谁知道在写完“Then”之后回到“Whens”是否是可以接受的最佳实践?我很高兴测试仍然有效,只是想知道这是好还是坏做法。

最佳答案

语法上可互换;语言不同

Gherkin syntax目前包含六个用于描述功能步骤的关键字:

  1. 给定
  2. 何时
  3. 然后
  4. 但是
  5. *

关键字是为了人类消费和易于传达业务逻辑而存在的。然而,Gherkin 语言本身将关键字视为可互换的符号,因此您可以从语法上(从 Gherkin 的角度)编写受折磨的英语,例如:

But for a dollar held
Then another dollar more
Given ownership of two dollars am I.

这是完全有效的小 cucumber ,但数钱的表现却很糟糕。那么,如果所有的词都可以互换,为什么有这么多词呢?维基百科说得很清楚,他们提供了一套约定,以促进以更自然的方式进行交流,维基百科甚至给出了一些如何区分单词的示例。维基百科还特别指出:

Cucumber doesn’t technically distinguish between these...[kinds] of steps. However, we strongly recommend that you do! These words have been carefully selected for their purpose, and you should know what the purpose is to get into the BDD mindset.

换句话说,使用 Gherkin 术语以(相对)自然的语言交流您的功能,并将奥秘隐藏在步骤定义中。使用最自然地适合语言流程的任何关键字,并且不要担心编写良好的场景不严格遵守可能不适用于所有情况的约定

关于 cucumber 顺序为Given、When、Then(Given、When、Then、When、Then),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45059024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com