Kox*_*xzi 7 rspec ruby-on-rails paperclip rspec-rails
因此,使用rails 4.2.0和最新的rspec,我为我的控制器生成了一个基本测试.我只是坚持如何在valid_attributes中测试回形针图像.
从搜索到目前为止,我已经想出了这个(这不起作用):
let(:valid_attributes) {{name: 'The New Room', description: 'This is the brand new room', size: '250', capacity: '100', price: '650', picture: '#{rails.root}/spec/support/room-controller-valid.jpg', rmcat_id: '1'}}
Run Code Online (Sandbox Code Playgroud)
还有另一种方法吗?或者我是否需要包含帮助程序才能使回形针与RSpec一起使用?
我在终端得到的错误是:
Failure/Error: room = Room.create! valid_attributes
Paperclip::AdapterRegistry::NoHandlerError:
No handler found for "\#{rails.root}/spec/support/room-controller-valid.jpg
尝试设置Paperclip元数据属性,而不是提供真正的:picture附件.
...
picture_file_name: 'room-controller-valid.jpg',
...
Run Code Online (Sandbox Code Playgroud)
如果您要验证附件内容类型或大小,请同时设置这些属性:
...
picture_file_name: 'room-controller-valid.jpg',
picture_content_type: 'image/jpeg',
picture_file_size: 1.megabyte,
...
Run Code Online (Sandbox Code Playgroud)
当然,这不会将您的文件传递给控制器,因此您不需要该文件即可完成此操作.但是您的模型实例应该通过验证.来自Paperclip README:
Paperclip将包含最多四个属性(所有属性都以该附件的名称为前缀,因此如果您愿意,每个模型可以有多个附件),并为它们提供友好的前端.这些属性是:
Run Code Online (Sandbox Code Playgroud)<attachment>_file_name <attachment>_file_size <attachment>_content_type <attachment>_updated_at默认情况下,回形针只需要_file_name即可运行.如果要使用内容类型验证,则需要添加_content_type.
| 归档时间: |
|
| 查看次数: |
2097 次 |
| 最近记录: |