2

我是 RSpec 的新手,我有一个测试场景,我在其中编写:

my_object.should_not be_valid

它工作正常。但是,我想测试模型的特定属性是否无效。是这样一种现成的 RSpec 行为吗?我可以写类似的东西:

my_object.should_not be_valid(:name)

理想情况下,我也希望能够测试错误的数量,例如:

my_object.should_not be_valid(:name => 1)

但这对我来说现在并不重要。

4

1 回答 1

3

根据这个,你应该可以这样写:

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
于 2012-04-09T12:03:06.400 回答