【问题标题】:Rspec and 'before_validation' callback issuesRspec 和“before_validation”回调问题
【发布时间】:2011-09-17 14:42:36
【问题描述】:

我正在使用 Ruby on Rails 3.0.9 和 RSpec 2。我知道使用 RSpec 和 before_validation 回调存在一些已知问题,因为 before_validation 似乎没有被触发 在规范文件中运行时。你可以找到很多类似的问题(例如,通过Google search)。

我想知道,此时,是否有人提出了解决此问题的方法?

P.S.:我读到有些人建议使用模拟,有些人建议从 before_validation 切换到其他回调(例如:到 before_save)或使用save(:validate => false) 方法(所以跳过验证)......等等......但似乎没有人解决“真正的”问题。 您认为在这种情况下应该怎么做才能解决问题?

【问题讨论】:

  • 没有理由在测试中不触发before_validation——模型测试在设置过程中没有做任何特别的事情。老实说,我认为人们不知道如何编写这些测试。您有想要通过的测试吗?
  • +1 举例说明什么不起作用。给我们一个带有 before_validation 检查的简单模型,以及您为验证它而编写的规范。
  • stackoverflow.com/questions/7361036/… 你打电话给 .valid 了吗?

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


【解决方案1】:

如果您无法使用模拟,请尝试使用 reload 方法重新加载您的实例,然后再进行测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多