2010-05-23 6 views
12

J'ai un projet avec près de 500 tests individuels dans environ 200 classes de test. Certains de ces tests ne réussissent pas à détruire leur propre état une fois qu'ils sont terminés, et dans Eclipse, certains tests échouent. Les tests passent tous lors de l'exécution de la suite de tests à partir de la ligne de commande via Ant. Puis-je activer en quelque sorte l '«isolation de test» dans Eclipse? Cela ne me dérange pas si cela prend plus de temps à courir.Exécution de chaque test JUnit dans une JVM distincte dans Eclipse?

À long terme, je vais nettoyer les tests de mauvaise conduite, mais à court terme, je voudrais faire fonctionner les tests.

Répondre

3

Si vous utilisez Ant dans Eclipse, vous pouvez définir la tâche JUnit comme un fork pour un nouveau processus JVM pour chaque test, en fournissant l'isolation.

http://ant.apache.org/manual/Tasks/junit.html

+0

Il ne fendra qu'une nouvelle JVM pour l'ensemble de la suite de tests, pas une pour chaque test. –

+0

Cela pourrait encore être utile. –

+2

@Michael - si l'attribut forkmode est défini sur "perTest", une nouvelle machine virtuelle Java doit être créée pour chaque test - c'est la valeur par défaut. –

0

J'avais aussi des besoins similaires et développé small maven plugin Jute qui a été publié dans le centre de Maven. Il démarre le processus JVM externe pour chaque méthode de test JUnit.

+0

He veut les exécuter en éclipse. Je présume comme moi qu'il aimerait voir les résultats des tests unitaires dans l'onglet JUnit. Il a déjà déclaré qu'il utilise Ant et non Maven - Ant vous permet déjà de faire des tests comme il le souhaite. – mjaggard