Est-il possible d'exécuter des tests JUnit pour plusieurs packages en même temps sans créer manuellement de suites de tests.
Par exemple, si j'ai la hiérarchie:
code.branchone
code.branchone.aaa
code.branchone.bbb
code.branchtwo
code.branchtwo.aaa
code.branchtwo.bbb
Est-ce possible de:
Le problème que je vois avec la création manuelle de suites de tests est que lorsque de nouveaux tests arrivent, vous pouvez oublier de les ajouter.
Oui c'est possible. La façon la plus simple pour moi au moins est d'ajouter une classe de suite de tests. Cela peut ressembler à ceci:
package tests;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
import tests.message.ATest;
import tests.validator.BTest;
import tests.validator.CTest;
import tests.validator.DTest;
@RunWith(Suite.class)
@SuiteClasses({ ATest.class,
BTest.class,
CTest.class,
DTest.class })
public class AllTests {
}
Cela vous permettra de tester n'importe quelle classe que vous importez, quel que soit le package dans lequel il se trouve. Pour l'exécuter dans Eclipse, cliquez simplement avec le bouton droit sur la classe AllTests et exécutez-le en tant que test JUnit. Il exécutera ensuite tous les tests que vous définissez dans @SuiteClasses
.
Cela fonctionnera également avec des sources liées, je l'utilise tout le temps.
Autrement:
Cliquez sur le triangle noir indiqué par un rectangle rouge dans l'image ci-dessous (dans votre Eclipse, pas ici :).)
Ensuite, ouvrez les configurations d'exécution, créez une nouvelle configuration, puis définissez "Exécuter tous les tests ..." comme illustré dans l'image ci-dessous.
Peut-être pas exactement quelle était la question d'origine, mais vous pouvez facilement exécuter tous les tests d'un Projet entier, en cliquant simplement avec le bouton droit sur le projet -> Exécuter en tant que JUnitTest. Ne vous inquiétez pas de l'emplacement des classes annotées, cela sera analysé.
Cela ne fonctionne pas s'il est appliqué au dossier test-src ou à un package avec des sous-packages. Dommage en fait -.-
Je suis sûr que vous pouvez modifier un peu cela. Créez une collection de la propriété CLASSES_DIR et bouclez-la dans la méthode findClasses. (junit4)
Je crois que vous pouvez ajouter tous vos packages de test dans un seul répertoire. Si vous faites un clic droit sur ce répertoire, vous devriez trouver l'option "Exécuter en tant que -> Test JUnit" disponible. Cela exécutera tous les tests contenus dans le répertoire et interceptera tout ce que vous aurez ajouté. Tous les nouveaux tests sont mis en place avec les autres et quel que soit le nom du package que vous avez, cela n'a pas d'importance. J'espère que cela pourra aider
Bien sûr, cliquez avec le bouton droit sur les packages souhaités et sélectionnez Exécuter en tant que ... Test JUnit
Dans Eclipse, sur vos configurations de débogage/exécution, vous disposez des options suivantes:
Je pense que la deuxième option est votre ami dans ce cas.