3
api = double "myApi"
api.should_receive(:get_info).and_return({
  # a 360 lines hash!
})

この double から返される応答を提供したいと考えています。しかし、この応答は非常に長いハッシュであり、仕様ファイルを乱雑にしたくありません。代わりに、ハッシュを別のファイルに書き込んで仕様で使用したいので、ベストプラクティスは何ですか?

4

1 に答える 1

5

ベストプラクティスは、ハッシュ全体をスタブ化しないことです。確かに、テストはすべての行を必要としません。各テスト/コンテキストで各テストが必要とする数行をスタブアウトする方がよいでしょう。

API 全体をスタブ化する必要がある場合は、別のモジュールを で作成できますspec/support

# spec/support/api_stub.rb

module ApiStub
  def self.response
    {
      # hash
    }
  end
end

ApiStub.responseそのフォルダー内のものはすべて自動的に含まれるため、スタブ定義で使用できます。

于 2012-08-03T07:10:40.920 に答える