我在发布请求时遇到RSpec和fixture_file_upload
的麻烦。
这里是问题:我正在尝试通过上传发送图像以创建具有图像的类别,但是当图像到达时,它将更改其类类型。
我正在等待进入params[:category][:image]
和ActionDispatch::Http::UploadedFile
,但是我收到的是ActionController::Parameters
。
我的请求示例:
context 'when creates a new main category with valid params' do
let(:category) do
{ category: { name: 'Bolos E bolos',
description: 'São bolos sim',
locale: 'pt-BR',
image: fixture_file_upload('images/test-image.png', 'image/png') } }
end
post '/v4/categories' do
it 'upload image' do
expect { do_request(category) }.to change { ActiveStorage::Blob.count }.from(0).to(1)
end
end
end
我得到了:
Failure/Error: expect { do_request(category) }.to change { ActiveStorage::Blob.count }.by(1)
expected `ActiveStorage::Blob.count` to have changed by 1, but was changed by 0
如何发送图像作为上载并以ActionDispatch::Http::UploadedFile
代替ActionController::Parameters
的形式在控制器上获取>
我在发布请求时遇到RSpec和Fixture_file_upload的麻烦。这是问题所在:我正在尝试通过上传发送图片以创建包含图片的类别,但是当图片到达时,它会对其进行更改。...
我无法使您的控制器规格正常运行,但是我设法使等效的请求规格正常运行。我花了45分钟以上的时间无处可去,我认为这是我能做的最好的事情。这似乎有效。 (只需确保在Rails应用的公共文件夹中有一个avatar.jpg。)