2010-08-04 1 views
9

Lorsque j'utilise l'étape "Afficher la page", avec Capybara/Cucumber, puis-je contrôler l'emplacement de sortie des fichiers? Je n'arrive pas à trouver la config pour ça, et mon google fu me manque. À l'heure actuelle, il semble que par défaut, ils vont à la racine de mon dossier rails et encombrer les choses là-bas.Comment mettre la sortie capybara html dans un dossier spécifique?

Répondre

11

Il y a en effet une option de configuration qui vous permet de spécifier où les fichiers de sortie:

Capybara.save_and_open_page_path

Je crois qu'il a été ajouté dans la dernière version (0.3.9)

Dans votre fichier env.rb vous pouvez faire quelque chose comme:

Capybara.save_and_open_page_path = '/Users/jsboulanger/my-rails-project/tmp' 

Dans Capybara 2.10, Capybara::save_and_open_page= est déprécié. Au lieu de cela, appelez Capybara::save_path=

+3

Brillant! Bien, il semblait que le chemin était relatif à mon projet de rails, donc je pouvais juste utiliser: Capybara.save_and_open_page_path = 'tmp' Mais ça a bien fonctionné - merci! –

+0

Vous avez raison, vous ne devriez pas utiliser un chemin absolu de toute façon. – jsboulanger

+0

Je recommande d'utiliser le fichier tmp du système d'exploitation. AFAIK, il n'y a aucun processus qui nettoiera ces dossiers de capybara hors du projet de rails tmp dir. 'Capybara.save_path = '/ tmp'' –

7

Nice. Merci pour cela.

Pour être vraiment soigné à ce sujet j'ai ajouté la ligne de configuration à config/environments/test.rb, puisque vous n'utilisez généralement que capybara dans le test, et cela fonctionne très bien.

Comme il y a un tas de sous-dossiers dans tmp/I utilisé:

Capybara.save_and_open_page_path = 'tmp/capybara' 

et créé ce dossier.

Questions connexes