我是 RSpec 的新手,我有一个测试场景,我在其中编写:
my_object.should_not be_valid
它工作正常。但是,我想测试模型的特定属性是否无效。是这样一种现成的 RSpec 行为吗?我可以写类似的东西:
my_object.should_not be_valid(:name)
理想情况下,我也希望能够测试错误的数量,例如:
my_object.should_not be_valid(:name => 1)
但这对我来说现在并不重要。
我是 RSpec 的新手,我有一个测试场景,我在其中编写:
my_object.should_not be_valid
它工作正常。但是,我想测试模型的特定属性是否无效。是这样一种现成的 RSpec 行为吗?我可以写类似的东西:
my_object.should_not be_valid(:name)
理想情况下,我也希望能够测试错误的数量,例如:
my_object.should_not be_valid(:name => 1)
但这对我来说现在并不重要。
根据这个,你应该可以这样写:
describe Person do
it "should validate presence of email" do
person = Person.new(:email =>; nil)
person.should_not be_valid
person.should have(1).error_on(:email)
end
end
或者像下面一样,通过使用这些 rspec 匹配器:
describe Person do
it { should validate_presence_of(:email) }
end