gpt4 book ai didi

ruby-on-rails - 用回形针测试 RSpec Controller

转载 作者:行者123 更新时间:2023-12-04 11:37:04 27 4
gpt4 key购买 nike

因此,使用 rails 4.2.0 和最新的 rspec,我为我的 Controller 生成了一个基本测试。我只是被困在如何在 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'}}

有没有另一种方法可以做到这一点?或者我是否需要包含一个助手来让回形针与 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',
...

如果您正在验证附件内容类型或大小,请同时设置这些属性:
...
picture_file_name: 'room-controller-valid.jpg',
picture_content_type: 'image/jpeg',
picture_file_size: 1.megabyte,
...

当然,这不会将您的文件传递给 Controller ​​,因此您不需要该文件来完成此操作。但是您的模型实例应该通过验证。来自回形针 README :

Paperclip will wrap up to four attributes (all prefixed with that attachment's name, so you can have multiple attachments per model if you wish) and give them a friendly front end. These attributes are:

<attachment>_file_name
<attachment>_file_size
<attachment>_content_type
<attachment>_updated_at

By default, only _file_name is required for paperclip to operate. You'll need to add _content_type in case you want to use content type validation.

关于ruby-on-rails - 用回形针测试 RSpec Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28511747/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com