在测试模型字段的有效性之前,我尝试在主题中设置一个实例变量。我需要设置这个变量,因为验证是有条件的(它只用于某些类型的用户)。所以我有这样的东西:
context "as a user" do
before(:each) do
subject = Organization.new
subject.editor = "user"
end
it { subject.should validate_presence_of :name }
end但它并没有像预期的那样工作:
Failure/Error: it { subject.should validate_presence_of :description }
RuntimeError:
Organization#editor attr is not set我错过了什么?
发布于 2013-04-16 22:26:51
before块中的subject是一个局部变量。看起来你是想用an explicit subject
context "as a user" do
subject { Organization.new }
before(:each) do
subject.editor = "user"
end
# usually, you don't explicitly name the subject in an `it` like this
it { should validate_presence_of :name }
endhttps://stackoverflow.com/questions/16039559
复制相似问题