web-dev-qa-db-fra.com

Rspec exécute tous les tests sauf un dossier spécifique

Le projet sur lequel je travaille a une suite de tests assez volumineuse. J'écris actuellement un test qui passe lorsque je l'exécute seul, mais lorsque j'exécute toute la suite de tests $rspec, j'obtiens un comportement vraiment génial qui provoque l'échec du test.

En ce moment, le test est imbriqué comme ceci:

spec/folder1/folder2/folder3/test.rb

Chacune de ces commandes exécute le test et tout passe:

$rspec spec/folder1/folder2/folder3
$rspec spec/folder1/folder2
$rspec spec/folder1/

Il y a environ 10 autres dossiers du même niveau que folder1 que je voudrais individuellement ne pas exécuter avec le reste de la suite afin de déterminer quel dossier contient les tests qui rompent le test sur lequel je travaille.

Est-ce possible?

15
Deekor

Utilisez un --exclude-pattern, ils sont très pratiques:

https://www.relishapp.com/rspec/rspec-core/v/3-3/docs/configuration/exclude-pattern

Une des belles choses à leur sujet:

Le drapeau --exclude-pattern accepte les unions globales de style Shell

Donc, vous pourriez faire quelque chose comme rspec --exclude-pattern "spec/{foldername1,foldername2}/**/*_spec.rb"

30
photoionized

Jetez un coup d'œil à Filtres d'exclusion dans le projet Rspec, cela pourrait aider.

Vous pouvez également exécuter uniquement les tests de votre choix avec Filtres d'inclusion .

1
Ricardo Emerson