gpt4 book ai didi

ruby - Rails rspec - 如何检查具有 ", if: :direct"子句的验证模型

转载 作者:数据小太阳 更新时间:2023-10-29 08:05:17 26 4
gpt4 key购买 nike

我有这个模型代码:

validates_presence_of :setting_id  
validates_presence_of :user_id
validates_presence_of :topic_id, if: :direct?

我有这些 rspec 测试:

it { should validate_presence_of :setting_id }
it { should validate_presence_of :user_id }
it { should validate_presence_of(:topic_id).if(:direct?) }

前 2 个测试工作正常。最后一个给出错误:
undefined method 'if' for #<Shoulda::Matchers::ActiveModel::ValidatePresenceOfMatcher:0x007fda6a5c6268>

我如何为代码片段添加类似的测试以验证 (:topic_id).if(:direct?) 的最后存在?

最佳答案

从 shoulda-matchers 的源代码来看,似乎不支持 :if 条件。您将需要使用 direct? 方法的 stub 值手动测试它。

关于ruby - Rails rspec - 如何检查具有 ", if: :direct"子句的验证模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11420027/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com