我有一个像这样的个人资料模型;
class Profile < ActiveRecord::Base
attr_accessible :first_name, :last_name
belongs_to :user
validates :user, presence: true
validates :first_name, presence: true, on: :update
validates :last_name, presence: true, on: :update
end
我想编写一些 rspec 测试来测试 first_name 和 last_name 的验证,但我看不到如何profile.should_not be_valid
在模型测试中仅在更新时运行。就像是;
it "should be invalid without a first name on update" do
profile = FactoryGirl.build :profile
profile.first_name = nil
profile_should_not be_valid
end
不区分更新或创建操作,我在 rspec 文档中看不到任何关于此的内容。当然,测试是一件相当普遍的事情。