我想说清楚这个问题不是关于反击。我是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会使这段代码变坏?
答案 0 :(得分:0)
感谢您的帮助。我想出了问题。 calc.rb需要位于以上功能的根目录中,我将它放在step_definitions中:P。