46 votes

Comment puis-je m'assurer que Rails ne génère pas de tests de spécification pour les vues et les aides?

Y a-t-il un moyen de faire cela depuis le fichier application.rb?

81voto

Jergason Points 7748

edit: réponse courte sur le dessus

Si vous voulez faire cela pour chaque fois que vous exécutez les générateurs, vous n'avez en effet le personnaliser au sein de votre application.rb fichier. Mettez ce code dans le fichier à l'intérieur de l'Application de la définition de classe.

config.generators do |g|
  g.view_specs false
  g.helper_specs false
end

Vous pouvez également procéder en passant quelques options dans le générateur de commande. Cette Railscast va sur le processus plus en détail, mais l'idée de base est assez simple.

Rails de générateurs peuvent prendre plusieurs options. Vous pouvez voir les options pour le contrôleur de générateur en exécutant rails g controller -h. En supposant que vous avez Rspec déjà configurés, si vous chercher à la sortie, vous remarquez un article qui dit "Rspec options". Il ressemble à ceci:

Rspec options:
  [--controller-specs]  # Indicates when to generate controller specs
                        # Default: true
  [--view-specs]        # Indicates when to generate view specs
                        # Default: true

Pour annuler ces valeurs booléennes, il suffit de passer avec un "non" devant le nom. Donc si vous voulez un contrôleur sans spécifications de votre vue, vous serait-il appeler comme ceci:

rails g controller Foobar index show new create --no-view-specs

Et vous obtenez un contrôleur avec les bonnes vues et d'actions à créé pour vous, mais pas de spécifications de votre point de vue.

La même chose s'applique si vous utilisez l' scaffold générateur. Il y a un --helper-specs option, donc si vous voulais pas de vue ou d'aide spécifications que vous exécutez:

rails g scaffold Foobar name:string --no-helper-specs --no-view-specs

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