我正在同时学习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': number of arguments (0 for 1) (ArgumentError)*
任何帮助都是感激的!
问题是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