模拟验证唯一性回调

时间:2012-07-29 00:23:38

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

如何模拟属性的validates :name, uniqueness: true回调?

我想它会起到这样的作用:

describe "with duplicate name" do
  before { mock(subject.name).unique? { false } }

  it "should be invalid" do
    subject.should have(1).error_on(:name)
  end

1 个答案:

答案 0 :(得分:1)

为什么不使用shoulda matchers?有了它,您可以使用it { should validate_uniqueness_of(:name) }等单行测试标准共轨功能。我发现它更具可读性,并且无需模拟回调和准备测试用例