Rspec 和“before_validation”回调问题

发布于 2024-12-05 11:35:14 字数 1013 浏览 0 评论 0原文

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

我想知道此时有人想出了解决这个问题的方法吗?

PS:我读到有人建议使用mock,其他人则建议使用mock从 before_validation 切换到其他回调(例如:before_save)或使用 save(:validate => false)方法(以便跳过验证)...等等……但似乎没有人解决了“真正的”问题。 您认为在这种情况下应该采取什么措施来解决问题?

I am using Ruby on Rails 3.0.9 and RSpec 2. I know that there are some known problems on using RSpec and a before_validation callback, because the before_validation seems not to be triggered when run in spec files. You can find a lot of similar issues (for example, by doing a Google search).

I am wondering if, at this time, anyone has come up with a solution to this problem?

P.S.: I have read that some people have proposed to use mocks, others people to switch from a before_validation to some other callback (eg: to a before_save) or to use the save(:validate => false) method (so to skip validations)... and so on... but no one seems to have solved the "real" problem. What do you think should be done in such cases in order to solve the issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

说好的呢 2024-12-12 11:35:14

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

if you can't get around using mocks, try reloading your instance using the reload method and after that your test.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文