Versi Ruby: 2.7.2
Versi rel: 6.1.0
Versi RSpec: 3.10.1 (rspec-core) dan 4.0.2 (rspec-rails)
Halo! Saya mencoba memutakhirkan aplikasi saya ke Rails 6.1 dari 6.0.3.4, dan saya mengalami kesalahan saat menggunakan metode fixture_file_upload
. Ketika saya memanggil metode ini, pengecualian berikut muncul:
NoMethodError:
undefined method `file_fixture_path' for RSpec::Rails::FixtureFileUploadSupport::RailsFixtureFileWrapper:Class
Did you mean? fixture_path
Tampaknya ActionPack
telah mengubah implementasi fixture_file_upload
dan mengharapkan ada metode file_fixture_path
pada kelas RailsFixtureFileWrapper
.
Saya berharap metode ini mengunggah file tanpa memunculkan pengecualian apa pun.
Anda dapat melihat aplikasi contoh saya dengan tes yang gagal di sini: https://github.com/egiurleo/fixture-file-upload-test/blob/main/spec/fixture_file_upload_spec.rb
Untuk pengujian, saya memiliki file pdf di folder spec/fixtures
. Saya mencoba memanggil metode fixture_file_upload
dengan nama file itu, dan pengujian memunculkan pengecualian yang saya jelaskan sebelumnya.
file_fixture_path
dalam konteks ini sehingga panduan apa pun akan dihargai.ActionPack
( lib/action_dispatch/testing/test_process.rb
).Terima kasih telah melaporkan. Kami sedang aktif mengerjakan rspec-rails
4.1, Anda dapat mengaksesnya dengan menunjuk ke cabang:
# Gemfile
gem 'rspec-rails', github: 'rspec/rspec-rails', branch: 'rails-6-1-dev'
Perbaikan disertakan di sana .
Maaf untuk ketidaknyamanannya.
Silakan laporkan kembali jika masih tidak berhasil untuk Anda.
Terima kasih banyak telah memberi tahu saya!
Sebagai solusi sementara untuk ini, daripada mengutak-atik Gemfile saya dan memastikan saya memiliki semua dependensi, saya baru saja mendefinisikan metode fixture_file_upload
saya sendiri setelah melihat kode sumber untuk metode itu:
def fixture_file_upload(path, mime_type)
Rack::Test::UploadedFile.new(Pathname.new(file_fixture_path).join(path), mime_type, false)
end
Komentar yang paling membantu
Terima kasih telah melaporkan. Kami sedang aktif mengerjakan
rspec-rails
4.1, Anda dapat mengaksesnya dengan menunjuk ke cabang:Perbaikan disertakan di sana .
Maaf untuk ketidaknyamanannya.
Silakan laporkan kembali jika masih tidak berhasil untuk Anda.