我正在尝试通过参考"实用程序员 - Rspec Book"来学习Rspec-Cucumber教程。我在第4章并且似乎陷入了错误并且无法前进。我完全按照教程进行了操作但是当我尝试运行黄瓜功能时它显示以下错误(in line : output.messages.should include(message)
)在我的控制台中。
undefined local variable or method `message' for #<Object:0x9c0c05c> (NameError)
我的codebreaker_steps.rb文件如下。
Then /^I should see "([^"]*)"$/ do |arg1|
output.messages.should include(message)
end
class Output
def messages
@messages ||= []
end
def puts(message)
messages << message
end
end
def output
@output ||= Output.new
end
答案 0 :(得分:1)
如果您花时间熟悉红宝石的基本知识,那将对您有所帮助。要回答您的问题,您应该像这样更改步骤定义
Then /^I should see "([^"]*)"$/ do |arg1|
output.messages.should include(arg1)
end
或者像这样
Then /^I should see "([^"]*)"$/ do |message|
output.messages.should include(message)
end