【问题标题】:Mocking Validates Uniqueness Callback模拟验证唯一性回调
【发布时间】:2012-07-29 00:23:38
【问题描述】:

如何模拟属性的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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 谢谢魏。应该是绝对干净的,但我认为我不能证明我可以为这个规范撕掉我的其余测试!
    • 去掉其余的测试是什么意思?像其他验证一样通过模拟进行测试?
    猜你喜欢
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    相关资源
    最近更新 更多