2013-02-19 177 views
0

型號/ question_spec.rb爲什麼我的測試失敗

context "title" do 
subject { Question.new(title: 'is it valid question ?') } 

    it { should be_valid } 
end 

型號/ question.rb

validates :title , presence: true , :length => { :minimum => 15, :maximum => 160 } 
validates_length_of :body, :minimum => 250 

結果

Question title 
Failure/Error: it { should be_valid } 
expected valid? to return true, got false 

爲什麼?

回答

0

第一:切換最小值和最大值。

第二:你沒有指定一個問題的主體。

+0

我想Question.body是可選的。我該怎麼做呢? – user1192439 2013-02-19 21:02:56

+0

它不是可選的。它只是你的測試,沒有爲身體設置有效的價值。嘗試在你的主體內設置一個有效的主體。 – 2013-02-19 21:05:26

+0

請重新閱讀評論。我還寫錯了 – user1192439 2013-02-19 21:08:15

0

測試失敗,因爲Questionbody設置爲零。要接受無可數性驗證,我們必須使用allow_nil: true。所以最終的驗證聲明將是

validates_length_of :body, :minimum => 250, :allow_nil => true 
相關問題