Je fais le Rails Tutorial pour la deuxième fois. Quand j'entre dans ce
Rails generate integration_test static_pages
Je reçois spec/Rails_helper.rb
et spec/spec_helper.rb
au lieu de simplement spec/spec_helper.rb
Maintenant, quand je lance mes tests, ils sont plus longs (plus "verbeux") et plus lents que lorsque je l'ai fait la dernière fois. Je me demande quelle est la différence entre les deux fichiers et si j'ai fait quelque chose de mal. Existe-t-il également un moyen de se débarrasser du Rails_helper.rb
fichier sans tout gâcher?
rspec-Rails 3 génère spec_helper.rb
et Rails_helper.rb
. spec_helper.rb
est pour les spécifications qui ne dépendent pas de Rails (comme les spécifications des classes dans le répertoire lib). Rails_helper.rb
est pour les spécifications qui dépendent de Rails (dans un projet Rails, la plupart ou la totalité). Rails_helper.rb
a besoin spec_helper.rb
. Alors non, ne te débarrasse pas de Rails_helper.rb
; l'exiger (et non spec_helper.rb
) dans vos spécifications.
Si vous souhaitez que vos spécifications non dépendantes de Rails imposent qu'elles ne dépendent pas de Rails et s'exécutent aussi vite que possible lorsque vous les exécutez seules, vous pouvez avoir besoin de spec_helper.rb
plutôt que Rails_helper.rb
dans ceux-là. Mais il est très pratique de -r Rails_helper
dans votre .rspec
plutôt que d'exiger un assistant ou l'autre dans chaque fichier de spécifications, ce qui est sûr d'être une approche populaire.
Si vous utilisez le préchargeur à ressort, chaque classe n'a besoin d'être chargée qu'une seule fois, et le printemps charge les classes avec impatience même si vous n'exécutez qu'une seule spécification qui nécessite spec_helper
, il n'y a donc pas autant de valeur à ne demander que spec_helper
dans certains fichiers.
Source: https://www.relishapp.com/rspec/rspec-Rails/docs/upgrade#default-helper-files