Ruby on rails 如何测试条件验证?

Ruby on rails 如何测试条件验证?,ruby-on-rails,ruby,ruby-on-rails-3,validation,rspec,Ruby On Rails,Ruby,Ruby On Rails 3,Validation,Rspec,我正在使用RubyonRails3.0.9和RSpec2。我想知道如何运行以下验证方法的测试: class User < ActiveRecord::Base validates :firstname, :unless => :condition, :presence => true, ... end class用户:条件, :presence=>true, ... 结束 我指的是:除非=>:条件部分。通过创建满足或不满足条件的对象,看看它们是否有效。通

我正在使用RubyonRails3.0.9和RSpec2。我想知道如何运行以下验证方法的测试:

class User < ActiveRecord::Base
  validates :firstname, :unless => :condition,
    :presence => true,
    ...
end
class用户:条件,
:presence=>true,
...
结束

我指的是
:除非=>:条件部分。

通过创建满足或不满足条件的对象,看看它们是否有效。

通过创建满足或不满足条件的对象,看看它们是否有效。

我假设您一直在使用活动模型来测试这些验证

在这种情况下,您总是可以通过在您的should“assertion”之前使用“subject”块来控制您测试验证的实例,如:(对于:除非情况)


以及上面的对象案例。

我假设您一直在使用活动模型来测试此类验证

在这种情况下,您总是可以通过在您的should“assertion”之前使用“subject”块来控制您测试验证的实例,如:(对于:除非情况)

以及上述的对象情况

context "testing validations" do
  subject do
    #Create object satisfying :condition
  end
  should_not validate_presence_of :first name
end