web-dev-qa-db-fra.com

Comment puis-je demander à Rspec d'exécuter tous les tests imbriqués dans un dossier?

J'aime exécuter mes tests Rspec avec Spork fonctionnant dans un onglet séparé. J'exécute généralement mes tests en utilisant rspec spec, par lequel j'ai l'intention de dire "recherche récursivement et exécutez tout dans le dossier spec".

J'ai récemment réalisé que cela n'exécute pas réellement tous mes tests. J'ai maintenant un fichier de spécifications dans spec/requests qui n'est pas en cours d'exécution. Je le sais car j'ai édité l'un des tests pour générer une erreur et exécuter ce qui suit:

  • rspec spec - aucune erreur signalée.
  • rspec spec/requests - toujours aucune erreur signalée, et 0 examples, 0 failures!
  • rspec spec/requests/my_controller.rb - bingo. 17 examples, 1 failure et l'échec a mon message d'erreur.

Pourquoi Rspec ne trouve-t-il pas tous mes fichiers de test? Est-ce une question de configuration ou dois-je utiliser une autre commande pour exécuter mes tests?

Je dois exécuter tous mes tests à la fois pour m'assurer que je n'introduis pas de régressions.

(Ne pas utiliser Spork ne fait aucune différence, au fait.)

35
Nathan Long

Rspec should examine déjà récursivement le répertoire que vous avez nommé et trouve tous les tests. Notez cependant qu'il recherche des fichiers se terminant par _spec.rb. Peut-être que certains de vos fichiers ne sont pas nommés correctement?

Si vous devez être plus précis sur les fichiers qu'il doit trouver, vous pouvez également utiliser le --pattern option. Par exemple: rspec --pattern spec/requests/*_spec.rb. (Option --pattern est égal à -P. Pris à partir de rspec --help)

73
farnoy

vous pouvez créer une tâche de râteau

desc "Run PCMag tests"
  RSpec::Core::RakeTask.new('test') do |t|
  t.rspec_opts = ["-Ilib","--format documentation","--color"]
  t.pattern = ['spec/test/*.rb']
end

Exécutez ensuite la commande rake test.

La commande ci-dessus exécutera tous les tests .rb sous le dossier 'test'

Veuillez vérifier le lien suivant pour plus de détails.

http://testautomationarchives.blogspot.in/2013/10/rspec-rake-framework-in-Ruby-with.html

3
Priyanka Gajjar