2009-07-28 19 views
3

J'utilise JUnit 3.x TestRunner qui intègre tous les tests à la fois avant de les exécuter.JUnit Test Runner qui crée des tests juste avant de les exécuter

Existe-t-il un Test Runner disponible pour créer chaque test (ou au moins les tests de chaque suite de tests) juste avant de les exécuter?
Je peux utiliser des coureurs JUnit 4.x mais mes tests sont des tests 3.x.

+0

Pourriez-vous s'il vous plaît fournir plus d'informations pourquoi vous avez besoin de faire ceci? Je ne suis pas le seul à soupçonner qu'il y a quelque chose de plus à savoir. – guerda

+0

Nous disposons d'un important code d'infrastructure de test qui nous aide à organiser l'environnement de test et à tester les données. Malheureusement, certains tests utilisent un constructeur et certains tests utilisent setUp pour le piloter. Le problème que nous avons est lié au temps. Plutôt que de refacturer pour déplacer des choses de constructeurs vers setUp, il serait plus facile d'avoir un constructeur à exécuter juste avant setUp. – topchef

+0

En outre, je ne vois pas de différence significative entre la structure de test unitaire de création de tests (exécuter des constructeurs) JIT ou de les aligner avant l'exécution des tests. – topchef

Répondre

3

Dans JUnit 3, vous devez écrire votre propre classe TestSuite qui a retardé l'instanciation des tests dans la suite.

1

Vous vous trompez probablement.

Chaque test unitaire doit être autonome et ne pas dépendre d'autres résultats de test. Sinon, lorsque l'un des tests se casse, il brise tous les tests qui en dépendent. Donc, vous verrez beaucoup d'erreurs sans moyen facile de comprendre quelle est la cause réelle. D'un autre côté, si tous les tests unitaires sont indépendants, un test interrompu est extrêmement facile à déboguer et à corriger.

EDIT: Je suppose que la raison pour laquelle vous posez la question d'origine est que vous avez des dépendances dans votre test. Si je me trompe, veuillez ignorer cette réponse :)