2012-12-10 36 views
0

希望如果有人能告訴我爲什麼會不通過,它越來越零,而不是價值基本rspec的測試不及格

class Hello 
    def hi 
    puts "hello" 
    end 
end 


describe Hello do 

    before do 
    @obj = Hello.new 
    end 

    describe "#hi" do 
    it "should say hello" do 
     @obj.hi.should == "hello" 
    end 
    end 

end 

回答

3

因爲puts總是返回nil#hi總是返回nil

將其更改爲:

class Hello 
    def hi 
    "hello" 
    end 
end 
+1

doh!愚蠢的,謝謝 – cluv

+0

這是學習過程的一部分。 RSpec每天工作10個小時3個月,這將會容易得多。 –

+0

大聲笑,我相信 – cluv

2

puts只是輸出字符串,但返回nil作爲值,所以hi只是返回的是零值。

0

我還沒有測試過它,但你也應該可以測試$ stdout。它應該收到