Rad*_*ian 3 rspec ruby-on-rails
api = double "myApi"
api.should_receive(:get_info).and_return({
# a 360 lines hash!
})
Run Code Online (Sandbox Code Playgroud)
我想提供应该从这个 double 返回的响应。但是这个响应是一个很长的散列,我不想弄乱我的规范文件。相反,我想将哈希写入单独的文件,并在我的规范中使用它 那么,最佳实践是什么?
在最好的做法是没有存根出整个哈希。当然,您的测试不需要每一行。您最好删除每个测试/上下文中每个测试所需的几行。
如果您必须存根整个 api,您可以在spec/support以下位置创建一个单独的模块:
# spec/support/api_stub.rb
module ApiStub
def self.response
{
# hash
}
end
end
Run Code Online (Sandbox Code Playgroud)
由于该文件夹中的任何内容都会自动包含在内,因此您可以ApiStub.response在存根定义中使用。
| 归档时间: |
|
| 查看次数: |
476 次 |
| 最近记录: |