api = double "myApi"
api.should_receive(:get_info).and_return({
# a 360 lines hash!
})
この double から返される応答を提供したいと考えています。しかし、この応答は非常に長いハッシュであり、仕様ファイルを乱雑にしたくありません。代わりに、ハッシュを別のファイルに書き込んで仕様で使用したいので、ベストプラクティスは何ですか?
api = double "myApi"
api.should_receive(:get_info).and_return({
# a 360 lines hash!
})
この double から返される応答を提供したいと考えています。しかし、この応答は非常に長いハッシュであり、仕様ファイルを乱雑にしたくありません。代わりに、ハッシュを別のファイルに書き込んで仕様で使用したいので、ベストプラクティスは何ですか?
ベストプラクティスは、ハッシュ全体をスタブ化しないことです。確かに、テストはすべての行を必要としません。各テスト/コンテキストで各テストが必要とする数行をスタブアウトする方がよいでしょう。
API 全体をスタブ化する必要がある場合は、別のモジュールを で作成できますspec/support
。
# spec/support/api_stub.rb
module ApiStub
def self.response
{
# hash
}
end
end
ApiStub.response
そのフォルダー内のものはすべて自動的に含まれるため、スタブ定義で使用できます。