api = double "myApi"
api.should_receive(:get_info).and_return({
# a 360 lines hash!
})
我想提供应该从此double返回的响应。 但是这个响应是非常长的哈希,我不想让我的spec文件混乱。 相反,我想在单独的文件中编写哈希,并在我的规范中使用它 那么,最佳实践是什么?
答案 0 :(得分:4)
最好的做法是不要删除整个哈希。当然,你的测试不需要每一行。你最好在每个测试/上下文中删除每个测试所需的几行。
如果你必须存根整个api,你可以在spec/support
中创建一个单独的模块:
# spec/support/api_stub.rb
module ApiStub
def self.response
{
# hash
}
end
end
由于该文件夹中的任何内容都会自动包含在内,因此您可以在存根定义中使用ApiStub.response
。