黄瓜./features/step_definitions/calculator_steps.rb:15在'/ ^计算器运行$ /

时间:2015-03-18 14:16:35

标签: ruby cucumber bdd

我想说清楚这个问题不是关于反击。我是Cucumber的新手,我正在尝试运行The Cucumber Book第二章中的代码:测试人员和开发人员的行为驱动开发。我在Windows 7中使用Cucumber 1.3.19和ruby 1.9.3p551,使用Ansicon x64 1.60。黄瓜与我从其他人那里收到的其他代码一起工作正常,所以配置很好。我已经阅读了几篇关于本教程有关反引号问题的帖子;但是,我已经使用正确的反引号(不是单引号)直接从Cucumber Book网站复制代码,但仍然出现错误。

Command failed! <RuntimeError>
./features/step_definitions/calculator_steps.rb:15 in '/^the calculator is run$/
features\adding.features:5:in 'When the calculator is run'
Failing Scenarios:
cucumber features\adding.feature: 3

我的add.feature代码看起来像

功能:添加

  Scenario: Add two numbers
    Given the input "2+2"
    When the calculator is run
    Then the output should be "4"

我的功能/ step_definitions / calculator_steps.rb的代码如下:

Given /^the input "([^"]*)"$/ do |input|
  @input = input
end

When /^the calculator is run$/ do
  @output = `ruby calc.rb #{@input}`
  raise('Command failed!') unless $?.success?
end

Then /^the output should be "([^"]*)"$/ do |expected_output|
  @output.should == expected_output
end

是否有更新版本的Cucumber会使这段代码变坏?

1 个答案:

答案 0 :(得分:0)

感谢您的帮助。我想出了问题。 calc.rb需要位于以上功能的根目录中,我将它放在step_definitions中:P。