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 回答