155 votes

test de chargement d’un fichier à l’aide de rspec - rails

J’ai envie de tester un upload de fichier dans les rails, mais ne sais pas comment faire cela.

Voici le code du contrôleur :

J’ai essayé cette technique, mais cela ne fonctionne pas :

Comment puis-je simuler le téléchargement de fichiers, à l’aide de rspec ?

307voto

ebsbk Points 2033

Vous pouvez utiliser la méthode fixture_file_upload pour tester le téléchargement de fichiers : placer votre fichier de test dans le répertoire « Rails.root}/spec/fixtures/files { »

56voto

Ken Points 1034

Je ne sais pas si vous pouvez tester les téléchargement de fichiers à l’aide de RSpec seul. Avez-vous essayé de Capybara?

Il est facile de tester les téléchargements de fichiers à l’aide de capybara `` méthode à partir d’une spécification de requête.

Par exemple (ce code est une démo uniquement) :

35voto

zedd45 Points 460

Si vous incluez Rack::Test *, suffit d’inclure les méthodes d’essai

Ensuite, vous pouvez utiliser la méthode UploadedFile :

  • NOTE : Mon exemple est issu de Sinatra, qui s’étend de Rack, mais devrait fonctionner avec Rails, qui utilise aussi Rack, TTBOMK

19voto

Dave Isaacs Points 2782

Je n’ai pas fait cela à l’aide de RSpec, mais je n’ai pas un test Test::Unit qui fait quelque chose de similaire pour le téléchargement d’une photo. J’ai mis en place le fichier téléchargé comme une instance de ActionDispatch::Http::UploadedFile, comme suit :

Quelque chose de semblable pourrait fonctionner pour vous aussi.

3voto

nfriend21 Points 485

J’ai dû ajouter ces deux comprend pour le faire fonctionner :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X