Version rubis : 2.7.2
Version ferroviaire : 6.1.0
Version RSpec : 3.10.1 (rspec-core) et 4.0.2 (rspec-rails)
Bonjour! J'essaie de mettre à niveau mon application vers Rails 6.1 à partir de 6.0.3.4 et je rencontre une erreur lors de l'utilisation de la méthode fixture_file_upload
. Lorsque j'appelle cette méthode, l'exception suivante est levée :
NoMethodError:
undefined method `file_fixture_path' for RSpec::Rails::FixtureFileUploadSupport::RailsFixtureFileWrapper:Class
Did you mean? fixture_path
Il semble que ActionPack
a changé l'implémentation de la fixture_file_upload
et s'attend à ce qu'il y ait une méthode file_fixture_path
sur la classe RailsFixtureFileWrapper
.
Je m'attends à ce que cette méthode télécharge le fichier sans soulever d'exceptions.
Vous pouvez voir mon exemple d'application avec un test d'échec ici : https://github.com/egiurleo/fixture-file-upload-test/blob/main/spec/fixture_file_upload_spec.rb
Pour le test, j'ai un fichier pdf dans le dossier spec/fixtures
. J'essaie d'appeler la méthode fixture_file_upload
avec le nom de ce fichier, et le test lève l'exception que j'ai décrite précédemment.
file_fixture_path
dans ce contexte, donc tout conseil serait apprécié.ActionPack
( lib/action_dispatch/testing/test_process.rb
).Merci pour le signalement. Nous travaillons activement sur rspec-rails
4.1, vous pouvez y accéder en pointant vers une branche :
# Gemfile
gem 'rspec-rails', github: 'rspec/rspec-rails', branch: 'rails-6-1-dev'
Le correctif y est inclus .
Désolé pour le dérangement.
N'hésitez pas à faire un retour si cela ne fonctionne toujours pas pour vous.
Merci beaucoup de me le faire savoir!
Comme solution de contournement temporaire pour cela, plutôt que de jouer avec mon Gemfile et de m'assurer que j'avais toutes les dépendances, j'ai juste défini ma propre méthode fixture_file_upload
après avoir regardé le code source de cette méthode :
def fixture_file_upload(path, mime_type)
Rack::Test::UploadedFile.new(Pathname.new(file_fixture_path).join(path), mime_type, false)
end
Commentaire le plus utile
Merci pour le signalement. Nous travaillons activement sur
rspec-rails
4.1, vous pouvez y accéder en pointant vers une branche :Le correctif y est inclus .
Désolé pour le dérangement.
N'hésitez pas à faire un retour si cela ne fonctionne toujours pas pour vous.