更改回形针附件上的集成测试路径

Seb*_*ian 6 ruby rspec file-upload ruby-on-rails paperclip

Paperclip的文档提到您可以通过将以下代码放在test.rb环境文件中来更改测试的上载路径:

Paperclip::Attachment.default_options[:path] = "#{Rails.root}/spec/test_files/:class/:id_partition/:style.:extension"
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是附件在模型中设置了路径,不会被覆盖:

has_attached_file :photo, path: ':attachment/:id/:style.:extension'
Run Code Online (Sandbox Code Playgroud)

当我运行测试时,文件会上传到/photo/文件夹而不是/spec/test_files/.

我可以通过编写自定义Paperclip适配器来实现这一点,但必须有一个更简单的方法.

Ale*_*x A 1

我遇到了类似的问题,我无法创建该文件夹,而是将其放置:

Paperclip::Attachment.default_options[:path] = "#{Rails.root}/spec/test_files/:class/:id_partition/:style.:extension"
Run Code Online (Sandbox Code Playgroud)

在environments/test.rb中,正如说明所示,我将其添加到rails_helper.rb中

希望能帮助到你。