【问题标题】:How can\should I test a conditional validation?我应该如何测试条件验证?
【发布时间】:2011-09-17 17:25:57
【问题描述】:

我正在使用 Ruby on Rails 3.0.9 和 RSpec 2。我想知道我应该如何为以下验证方法运行测试:

class User < ActiveRecord::Base
  validates :firstname, :unless => :condition,
    :presence => true,
    ...
end

我的意思是:unless =&gt; :condition 部分。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 validation rspec


    【解决方案1】:

    我假设您一直在 Active Model 上使用 shoulda matchers 来测试此类验证。

    在这种情况下,您始终可以通过在应该“断言”之前使用“主题”块来控制测试验证的实例,例如:(对于 :unless 情况)

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

    和上面的对象情况。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-11-19
        • 1970-01-01
        • 1970-01-01
        • 2013-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-09
        • 2012-06-29
        相关资源
        最近更新 更多