所以这是一个简短的教程,我发现abouot Rspec:w3ii.com: rspec它是关于rspec helpers的解释。这是该示例代码:为什么ruby为方法调用返回`true`?
class Dog
attr_reader :good_dog, :has_been_walked
def initialize(good_or_not)
@good_dog = good_or_not
@has_been_walked = false
end
def walk_dog
@has_been_walked = true
end
end
describe Dog do
def create_and_walk_dog(good_or_bad)
Dog.new(good_or_bad).walk_dog
end
it 'should be able to create and walk a good dog' do
dog = create_and_walk_dog(true)
expect(dog.good_dog).to be true
expect(dog.has_been_walked).to be true
end
end
当我运行它,我得到这个错误:
NoMethodError: undefined method 'good_dog' for true:TrueClass
# ./dor.rb:22:in 'block <2 levels> in >'
我不明白Dog.new()的调用如何返回真: TrueClass对象而不是简单的狗。
我会超级小心使用w3ii作为参考网站,因为它看起来相当低质量。有更好的[开始](https://en.wikipedia.org/wiki/Programming_Ruby)。 – tadman