我在铁路3.1处有一个接触表。 我想最后是接受40个特性的名称,因此,我的模型一写道:<代码>:length =>{:maximum => 40 }。 然而,我的移民中有一个打字体产生了最后一个名称栏,其编号为:limit=> 30
。
我很想知道,为什么我的“光谱测试”没有发现这一点:
it "should allow last_name up to max length" do
long_field = "a" * 40
Contact.new(@attr.merge(:last_name => long_field)).should be_valid
end
then I realized that s only checking the model. If I use .create!
instead, the test fails nicely:
it "should allow last_name up to max length" do
long_field = "a" * 40
Contact.create!(@attr.merge(:last_name => long_field)).should be_valid
end
因此,如果我总是使用<条码>。 何时测试我的模型? 还是太缓慢? 我怎么能确保我的模式和行定义不会发生冲突?
This also has me wondering if I should just leave strings as 255 in the database and only check the length in the model.