大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 如何创建ActiveRecord :: RecordInvalid进行测试?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
def error_from_exception(eX) if ex.is_a?(ActiveRecord::recordInvalid) ...
要进入if块,我需要传入正确的ex参数.
如何创建ActiveRecord :: RecordInvalid?
使用rspec,我试图做这样的事情:
context 'exception is ActiveRecord::recordInvalid' do it 'returns the validation error' do begin raise ActiveRecord::recordInvalid rescue Exception => ex binding.pry ### # From my pry session: # $ex # $<ArgumentError: wrong @R_944_10793@er of arguments (0 for 1)> # $ex.class # $ArgumentError < StandardError ### end end end
如何找出库正在寻找的参数类型?
如果您使用的是5.1.1下的Rails版本,请参阅下面的原始答案:
似乎不可能自己引发ActiveRecord :: RecordInvalid.如果查看ActiveRecord :: RecordInvalid的源代码,初始化时需要记录:
class RecordInvalid < ActiveRecordError attr_reader :record # :nodoc: def initialize(record) # :nodoc: @record = record ... end end
(来源:https://github.com/rails/rails/blob/master/activerecord/lib/active_record/validations.rb)
你可以做的事情就是简单地创建一个无效的实际记录并尝试使用save保存它! (例如在需要User.name时调用User.new.save!).但是,请记住,如果您使用的模型已更改且在测试中变为有效(不再需要User.@R_616_8313@,则此可能在将来成为问题.
以上是大佬教程为你收集整理的ruby-on-rails – 如何创建ActiveRecord :: RecordInvalid进行测试?全部内容,希望文章能够帮你解决ruby-on-rails – 如何创建ActiveRecord :: RecordInvalid进行测试?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。