J'ai une application Rails3 basée sur le travail de quelqu'un d'autre. Pour une raison quelconque, ils ont décidé de ne pas fournir les tests avec l'application, que je trouve frustrant. Ce que je veux être capable de faire est d'échafauder les tests pour tous les contrôleurs et modèles existants afin que je puisse avoir une longueur d'avance sur la création des tests moi-même dans test :: unit. Je ne veux pas recréer les modèles ou les contrôleurs, il suffit de créer les tests. Je suis nouveau sur Rails, et je me suis mis à la recherche de la commande rake qui pourrait le faire, mais tous sans aucune chance jusqu'à maintenant. Tout conseil/direction le plus apprécié.Générer uniquement des tests à partir de modèles/contrôleurs existants
Répondre
Je sais qu'il est un peu vieux, mais vous pouvez le faire:
rails g scaffold Post -s
Le -s
rend sauter les fichiers déjà créées. De plus, si vous n'utilisez pas le drapeau, il vous demande simplement si vous voulez remplacer le fichier, donc pas de soucis.
Il n'y a aucun moyen de le faire à ma connaissance. Il serait cependant facile de créer un projet de rails temporaires et de générer des échafaudages pour tous vos modèles, puis de copier le répertoire de test résultant dans le projet réel.
I.e.
rails new temporary
cd temporary
rails g scaffold Post title:string body:text
rails g scaffold Comment post:references author:string body:text
cp -r test ../real_rails_app/
etc.
Cette réponse est maintenant à jour. Les versions de rails à jour vous permettent de générer uniquement les fichiers manquants avec l'option de saut.
D'accord, était dans la même situation, a essayé tous les conseils que je pouvais google et seulement celui-ci vraiment aidé –
Pour générer uniquement les fichiers de test associés pour un Rails existants 3 app, j'utilise « générer des ressources », mais ignorer tout ce que je ne veux pas:
rails g resource Post --skip --no-resource-route --no-migration --no-helper --no-assets
D'autres options peuvent être trouvées à l'aide rails generate resource --help
-s, [--skip] # Skip files that already exist
--resource-route # Indicates when to generate resource route
[--helper] # Indicates when to generate helper
[--assets] # Indicates when to generate assets
[--migration] # Indicates when to generate migration
Pourquoi ne pas utiliser generate scaffold
? Parce que cela pourrait générer des vues que je n'utilise pas.
Vous aussi probablement besoin d'utiliser --skip-migrations. – chug2k
Merci, c'est presque parfait mais 'test_helper.rb' est manquant – ericn