Comment puis-je faire exécuter les tests de mon application Rails dans un ordre aléatoire? Existe-t-il une solution simple utilisant le râteau?Ruby - Exécution de tests dans un ordre aléatoire avec rake
Répondre
Vous pouvez consulter « ZenTest 3.9.0: maintenant avec plus mal » (ne peut pas faire un lien direct, utilisez le cache de Google)
Added ability to set test execution order, defaults to :random. EVIL!
J'ai joué un peu de temps avec ZenTest, mais je ne devine jamais comment activer l'ordre aléatoire. Je veux dire, l'ordre d'exécution par défaut est fixe et reste le même pour différentes exécutions de tests. –
Ici, vous allez, définir ceci dans lib/tasks/tasks.rb
namespace :test do
namespace :randomize do
desc "Randomize tests"
Rake::TestTask.new(:all => "db:test:prepare") do |t|
t.libs << "test"
t.test_files = Rake::FileList[
'test/unit/**/*_test.rb',
'test/functional/**/*_test.rb',
'test/integration/**/*_test.rb'
].shuffle
t.verbose = true
end
end
end
Run: rake test:randomize:all
Gardez à l'esprit que, dans les tests de fichiers seront toujours exécutés dans l'ordre où ils apparaissent. Je suppose que vous pourriez tester l'unité de test de singe pour permettre cela.
Merci Sam. Cela ne fonctionne pas pour moi, et en fait la solution que vous avez publiée est la même que celle à laquelle je suis arrivé: il suffit de mélanger le tableau contenant la liste des fichiers de test à exécuter. En fait, l'ordre des fichiers de test que vous passez à rake TestTask semble être ignoré, ce qui signifie que rake interne triera alfabétiquement cette liste sur le nom du fichier. Je vérifie ce comportement en exécutant la tâche rake avec l'option TESTOPTS = "- v", pour surveiller l'ordre d'exécution réel du test. Voici les versions que j'utilise: Ruby: 1.8.6 - 114 RubyGems: 1.3.5 Rake: 0.8.7 Rails: 2.3.3 Avez-vous d'autres idées? Tx! –
- 1. Ruby on Rails: Exécution de tests
- 2. Retour des lignes dans un ordre aléatoire
- 3. Visiter les points dans un triangle dans un ordre aléatoire
- 4. Puis-je faire exécuter des tests par NUnit dans un ordre aléatoire?
- 5. Exécution de tests XUnit.net avec TestDriven.net
- 6. Exécution de tests depuis un module
- 7. Ruby Threads (Rake) pour FTP
- 8. Identification des tests à exécution lente
- 9. Comment sélectionner des colonnes de la table dans un ordre aléatoire dans TSQL
- 10. Comment générer des exécutables dans un gem avec Rake?
- 11. Exécution de tests VSTS sans mstest.exe
- 12. rails tests ruby-prof et benchmark
- 13. Exécution de tests automatisés sur TFS 2008
- 14. Rake (Ruby) erreur d'arrêt à la fin de la construction
- 15. Exécution de tests en tant qu'utilisateur différent dans Visual Studio
- 16. Rake avortant avec erreur
- 17. Exécution récursive des fichiers dans un répertoire utilisant ruby
- 18. Rake db: migration abandonnée
- 19. Exécution de Ruby sans système d'exploitation traditionnel?
- 20. Pouvez-vous faire un: ordre en ruby après une trouvaille?
- 21. Ordre de priorité avec des méthodes?
- 22. Exécution de tests de plug-in Eclipse dans un thread non-ui
- 23. Rake ne fonctionne pas correctement dans cronjob
- 24. Tests fonctionnels Ruby on Rails avec le plugin d'authentification RESTful
- 25. Exécution de tests unitaires sur des fonctions imbriquées
- 26. Rake string remplacer dans le fichier
- 27. Exécution du résumé NUnit après l'exécution des tests NUnit dans un fichier de commandes
- 28. Rake pour .NET
- 29. ZenTest autotest ne pas exécuter des tests
- 30. Exécution d'un travail râteau
Pourquoi voudriez-vous faire cela? –
Pour vous assurer qu'il n'y a pas de dépendances entre les tests? –
Oui, le point principal pour nous est de s'assurer qu'il n'y a pas de dépendances entre les tests. –