我进入rspec这些天,试图让我的模型更精确和准确。有些事情对我来说还是有点奇怪,所以我认为如果有人能够澄清,这将会很好。Rspec Rails - 名称应该是有效的 - 一些澄清
比方说,我有一个用户模型。这个有一个:名字。该名称应该在4..15个字符之间(这是次要目标,首先它必须存在)。所以现在我在想:以确保这种情况发生的方式来测试它的最佳方式是什么?要测试一个用户必须有一个名字,我写了这样的东西:
describe User do
let(:user) { User.new(:name => 'lele') }
it "is not valid without a name" do
user.name.should == 'lele'
end
end
现在,我不太确定,这完成了我想要的。在我看来,我实际上正在用这个测试Rails。此外,如果我想检查一个名称不能超过15个字符且小于4个,那么这怎么可能被整合?
编辑:
也许这样比较好?
describe User do
let(:user) { User.new(:name => 'lele') }
it "is not valid without a name" do
user.name.should_not be_empty
end
end
请注意,所有.create!方法撞击数据库并使测试速度降低了100倍。您可以使用@Dylan Markow的以下说明避免缓慢并仍然检查有效性。 – aaandre 2013-11-06 00:00:09