我正在学习Ruby和TDD(rspec)。
我写了以下测试:
describe is_eligible do
it "returns true if the passed in string is not part of a list" do
result = is_eligible("abc")
result.should eq(false)
end
end
它正在测试以下代码:
def is_eligible(team_name)
array = Array.new
array << "abc" << "def" << "ghi"
if array.include?(team_name)
return false
else
return true
end
end
我收到以下错误,但无法找出原因。
* / Users / joel.dehlin / top32 / lib / ineligible_teams.rb:6:in`is_eligible':错误的参数个数(0表示1)(ArgumentError)*
感谢任何帮助!
答案 0 :(得分:5)
问题是describe
方法需要一个可以求值为字符串的字符串。如果你说“is_eligible”没有引号,它实际上会尝试调用该方法,你就会收到错误。
describe "is_eligible" do
it "returns true if the passed in string is not part of a list" do
result = is_eligible("abc")
result.should eq(false)
end
end