问题描述
|
我想模拟/存根:
@the_bill = GovKit :: OpenCongress :: Bill.find_by_idents(\“ 112-s368 \”)。first
在我的测试中使用。
它返回以下我出于测试目的要修复的对象:
---!ruby / object:GovKit :: OpenCongress :: Bill
bill_type:s
共同赞助者:
-!ruby / object:GovKit :: OpenCongress :: Person {}
id:68340
简介:1297836000
most_recent_actions:
-结果:
created_at:\“ 2011-02-17T07:45:50Z \”
govtrack_order:
ification_id:
文字:阅读两次并提交给农业,营养和林业委员会。
日期:1297836000
怎么样:
id:287979
投票类型:
类型:BillAction
roll_call_id:
action_type:动作
日期时间:“ 2011-02-16T00:00:00Z”
哪里:
bill_id:68340
roll_call_number:
-结果:
created_at:\“ 2011-02-17T07:45:49Z \”
govtrack_order:
ification_id:
文本:
日期:1297836000
怎么样:
id:287978
投票类型:
类型:BillAction
roll_call_id:
action_type:已介绍
日期时间:“ 2011-02-16T00:00:00Z”
哪里:
bill_id:68340
roll_call_number:
数:368
plain_language_summary:
最近博客:[]
我已经尝试过Factory_girl(无法做到,不是基于模型的对象),Fabrication(仍然存在相同问题)和OpenStruct,但可能无法完成,但无法将yaml转换为OpenStruct并在正确的位置进行模拟。
现在,我正在测试中进行api调用,而不是我想要的。我以为webmock是我的解决方案,但我在文档中找不到如何加载简单对象的方法。
解决方法
尝试使用VCR模拟API。我大约在6个月前有一个完全相同的问题,只是最近才发现这个库。它完全满足您的需求,将缓存对象以供以后测试,但也可以定期自动刷新它们。到目前为止,它是我为此找到的最佳解决方案。