Ruby Rails rspec-如何检查具有;,如果::直接;条款
我有这个模型代码:Ruby Rails rspec-如何检查具有;,如果::直接;条款,ruby,validation,rspec,shoulda,matcher,Ruby,Validation,Rspec,Shoulda,Matcher,我有这个模型代码: 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
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?) }
前两个测试工作正常。
最后一个错误为:#
如何为
(:topic_id)的最后一次验证添加类似的代码片段测试。如果(:direct?
来自shoulda matchers的源代码,它看起来像:if
条件不受支持。您需要使用direct?
方法的存根值手动测试此操作