J'ai test-unit
installé et rspec
installé (avec -core
, -expectations
, -mocks
et -Rails
version 2.6.x). Quand je lance la commande Rails new foo
, il utilise test-unit
pour générer les fichiers de raccord de test au lieu de rspec
.
Existe-t-il une option permettant à Rails d'utiliser rspec pour générer les tests à la place)?
Ce qui suit devrait fonctionner:
Rails new MYAPP -T # The -T option tells Rails not to include Test::Unit
gem 'rspec-Rails'
bundle install
Rails g rspec:install
Créez votre nouvelle application Rails en tant que:
Rails new <app_name> -T
Ou supprimez votre répertoire test
de votre application existante:
rm -rf test/
Faites une entrée dans votre Gemfile:
gem 'rspec-Rails'
Depuis la ligne de commande, installez la gemme
$ bundle install
A partir de la ligne de commande, installez rspec dans votre application:
$ Rails g rspec:install
Votre application Rails utilise maintenant RSpec au lieu de test-unit.
Une fois que vous avez créé votre application Rails avec:
Rails new <app_name> -T # to exclude Test::Unit
Ajoutez la gemme RSpec à votre Gemfile de la manière suivante:
group :development, :test do
gem "rspec-Rails"
end
En ligne de commande, écrivez:
bundle install # this will install the missing gems
Maintenant, vous devez installer RSpec en lançant:
Rails generate rspec:install
Cela générera les fichiers suivants:
create .rspec
create spec
create spec/spec_helper.rb
create spec/Rails_helper.rb
J'ai fortement recommandé de lire tous les commentaires spec_helper et Rails_helper pour bien comprendre le rôle de chaque option.
Une fois que tout est défini, vous pouvez exécuter tous vos tests avec:
bundle exec rspec
Vous pouvez en savoir plus sur les configurations recommandées spec_helper et Rails_helper sur https://kolosek.com/Rails-rspec-setup .
Je suis un nouveau développeur et je viens de créer un Rails flag (-rspec) pour résoudre le problème de OP. Il supprime Test :: Unit et insère la gemme Rails-rspec avec un script bash Le script peut être modifié pour aider les développeurs Linux en ajoutant automatiquement la gem therubyracer ou en créant des drapeaux et gemsets personnalisés (peut-être en allant spécifiquement à cette ligne et en supprimant le commentaire).
Voici le Gist && J'espère que cela aide quelqu'un. https://Gist.github.com/MTen/8310116