【问题标题】:ruby cucumber - step undefined message but step exists in step_definitionsruby cucumber - 步骤未定义消息,但 step_definitions 中存在步骤
【发布时间】:2016-08-12 14:27:32
【问题描述】:

我目前收到一条不寻常的错误消息,在我的 BDD 脚本运行期间,我通过命令行运行时收到以下响应:

Feature: As a user I want to purchase a mobile on a monthly plan
@ACQ_Test_01

  Scenario: Buy a pay monthly phone
    Given I am on the Store Homepage
    When I click on the Mobile Phones roundel link
    And I select a "Apple" "Iphone 6s"
    -->And I select the "1GB+AYCE min" price plan<--
    Then I can complete my order

1 scenario (1 undefined)
5 steps (1 skipped, 1 undefined, 3 passed)
0m0.130s

(箭头中的那个是在我的命令行中突出显示为未定义的那个)

但是,在我的 step_definitions 文件夹下的 .rb 脚本中,我有以下内容:

Given (/^I am on the Store Homepage$/) do
  **CONTENT-HERE**
end
When (/^I click on the Mobile Phones roundel link$/) do
  **CONTENT-HERE**
end
When (/^I select a "Apple" "Iphone 6s"$/) do
  **CONTENT-HERE**
end
When (/^I select the "1GB+AYCE min" price plan$/) do
  **CONTENT-HERE**
end
Then (/^I can complete my order$/) do
  **CONTENT-HERE**
end

我不知道为什么这个黄瓜脚本错过了一步,但这让我很生气。有人可以帮忙吗?

编辑:在后面,如果有人也能回答为什么它没有向我显示它所期望的 sn-ps,那就太好了。

【问题讨论】:

    标签: ruby cucumber


    【解决方案1】:

    您不应该为每个计划创建一个步骤。

    When (/^I select the "([^"]*)" price plan$/) do |plan|
      case plan
      when "1GB+AYCE min"
        # do something
      end
    end
    

    【讨论】:

    • 语法错误,意外的keyword_when,在“1GB+AYCE min”时期待keyword_end ^ D:/Users/slevene/Documents/BDD/bdd_tests/features/step_definitions/mobile_monthly.rb:18:语法错误,意外的keyword_end,期待输入结束(SyntaxError)
    • 实际上,没关系,如果我取消选择和时间,这将解决它。我会弄清楚如何自己迭代计划,所以谢谢。这行得通。标记为已接受的答案。
    • 好收获。我有错误的关键字(选择而不是大小写)。
    【解决方案2】:

    由于您的正则表达式与您的文本不匹配,您会收到一个缺少 step-def 的错误。

    你想要的是:

    When (/^I select the "1GB\+AYCE min" price plan$/) do
    

    这将匹配文字字符 + 而不是 B 一次或多次。

    请记住,ruby-cucumber 使用正则表达式语法而不是文字字符串来匹配 step-defs。

    【讨论】:

    • 抱歉,不,不是这样。我尝试转义“+”无济于事。它仍然说未定义,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多