2013-02-19 183 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 
相关问题