gpt4 book ai didi

cucumber :引用/不引用参数的最佳实践是什么

转载 作者:行者123 更新时间:2023-12-04 06:17:40 26 4
gpt4 key购买 nike

在 Cucumber 中,您定义了定义 BDD 语法的步骤;例如,您的测试可能有:

When I navigate to step 3

然后你可以定义一个步骤:
When /^I navigate to step (\d+)$/ do |step_number|
# navigate to step ${step_number}
end

现在,上述所有内容都按原样运行得很好(或者至少我认为是这样)。但是,您也可以这样做:
When I navigate to step "3"

使用正则表达式:
When /^I navigate to step "(\d+)"$/ do |step_number|

在“The RSpec Book: Behaviour-Driven Development with Rspec, Cucmber, and Friends”中,作者 David Chelimsky 写道“步骤有两种常见的风格......与你的团队讨论优缺点”。在我的团队中,一些人已经开始使用引号,但它使手动调用步骤变得更加尴尬,因为您必须转义步骤步骤名称中的引号(当这些步骤名称本身包含在引号中时)。但是,使用引号可以更清楚地说明变量在 Cucumber 文本中的位置。

所以,我想知道的是:对于这里的“正确”风格是什么,是否有任何社区共识?或者缺少那个...
  • 有没有人做过两种风格之间的好处比较?
  • 有没有人广泛使用这两种风格?

  • 理想情况下,我想在我们用“错误”风格编写一百万个测试之前尽可能多地找出答案;-)

    最佳答案

    看到没有人回复你,我决定发表评论 - 也许你会发现我的意见有帮助。

    例如,我一直在一个项目中广泛使用这两种风格,在这个项目中没有“应该这样做”。我想我结束了更多使用 "(\d+)"风格,因为,就像你说的:

    having quotes makes it more clear where variables are in



    至于构建由其他步骤组成的步骤,我通常是这样做的:
    Then /^I fill in my profile information with: "(.*)\/(.*)\/(.*)"$/ do |display_name, picture, description|
    And %{I fill in "user_display_name" with "#{display}"}
    And %{attach the file "#{picture}" to "user_picture"}
    And %{I fill in "user_short_description" with "#{description}"}
    end

    希望有帮助,我愿意讨论:)

    关于 cucumber :引用/不引用参数的最佳实践是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7017596/

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