Rails Minitest для обработки создания файлов

#ruby-on-rails #minitest

Вопрос:

Приложение создает .png файлы, которые записываются в общий каталог приложения.

 IO.binwrite("public/ddx/#{@item.id}/c_#{@item.section_id}_#{@item.aisle_id}.png", png.to_s)
 

Однако тестирование метода приводит к тому, что тест не может обработать public каталог

 Errno::ENOENT: No such file or directory @ rb_sysopen - public/ddx/1622972374/c_2_31.png
 

представляет 1622972374 item.id

Как можно заставить minitest заняться этим делом?

Ответ №1:

Не спрашивайте, как кодировать minitest, сначала измените свой код, чтобы путь к изображению работал с обеих сторон

 image_path = Rails.root.join('public', 'ddx', ...)
IO.binwrite(image_path, ...)