2

真新しいPictureモデルをテストしたいとします。おそらく、自動変換が機能しているかどうかをテストしたいと思うでしょう。テスト データをフィクスチャにどのようにフィードしますか?

4

1 に答える 1

6

これを実現するには、次のコードを含むfile_fixtures_extension.rbアプリのフォルダーにファイルを作成します。config/initializers

require 'active_record/fixtures'

module FileFixtureExtension
  def file(file_name)
    File::open(Rails.root.join('test/fixtures/', file_name), 'rb') do |f|
      "!!binary \"#{Base64.strict_encode64(f.read)}\""
    end
  end
end

Fixture.extend FileFixtureExtension

test/fixtures/pictures/my-birthday.jpgこれで、ファイルのバイナリ データを次のようにフィクスチャに含めることができます。

first_picture:
  name: My Birthday
  filename: my-birthday.jpg
  content_type: image/jpeg
  file: <%=Fixture::file 'pictures/my-birthday.jpg' %>

YAML のバイナリ データの詳細については、YAML のドキュメントを参照してください。

于 2012-09-28T16:40:54.567 に答える