假设您要测试全新的Picture模型。可能您想测试自动转换是否正常。您如何将测试数据输入到夹具中?

最佳答案

为此,请在应用程序的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 documentation

关于ruby-on-rails - 如何在Rails装置中使用二进制数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12644057/

10-15 20:05
查看更多