web-dev-qa-db-fra.com

Suites de test JUnit 4

Comment créer des suites de tests avec JUnit 4?

Toute la documentation que j'ai vue ne semble pas fonctionner pour moi. Et si j'utilise l'assistant Eclipse, il ne me donne pas la possibilité de sélectionner l'une des classes de test que j'ai créées.

97
Adam Taylor
import org.junit.runners.Suite;
import org.junit.runner.RunWith;

@RunWith(Suite.class)
@Suite.SuiteClasses({TestClass1.class, TestClass2.class})
public class TestSuite {
  //nothing
}
146
Joachim Sauer

Vous pouvez créer une suite comme ça. Par exemple, une suite AllTest ressemblerait à ceci.

package my.package.tests;

@RunWith(Suite.class)
@SuiteClasses({
    testMyService.class,
    testMyBackend.class,
    ...
})

public class AllTests {}

Vous pouvez maintenant exécuter cela de différentes manières:

  1. faites un clic droit et exécutez dans Eclipse en tant que test Junit
  2. créer un exécutable Java Application; Main class= 'org.junit.runner.JUnitCore' et Args= 'my.package.tests .AllTests '
  3. exécuter à partir de la ligne de commande:

    $ Java -cp build/classes/:/usr/share/Java/junit4.jar:/usr/share/Java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests
    
62
cmcginty

Je pense que TestSuite est tombé en disgrâce. C'était peut-être le style avant 4.x, mais ce n'est pas maintenant autant que je sache.

Je viens d'annoter les tests que je veux, puis d'exécuter la classe. Tous les tests annotés sont exécutés. Je pourrais utiliser Ant, mais la plupart du temps, je les utilise pour moi.

9
duffymo

Voici les étapes pour créer une suite JUnit dans Eclipse:

  1. Dans la vue 'Package Explorer' de la perspective Eclipse 'Java', sélectionnez vos tests unitaires dans leur package, à l'intérieur du projet Eclipse Java.
  2. Cliquez avec le bouton droit sur l'un des tests sélectionnés.
  3. Dans le menu contextuel, sélectionnez Nouveau, Autre…
  4. Ouvrez le dossier "Java", puis ouvrez le dossier "JUnit"
  5. Sélectionnez ‘JUnit Test Suite’ puis sélectionnez le bouton ‘Next’
  6. Sélectionnez le bouton "Terminer"
  7. Résultat: le fichier de la suite "AllTests.Java" est créé, avec des tests automatiquement inclus
  8. Sélectionnez le bouton Exécuter dans Eclipse
  9. Résultat: tous les tests exécutés en suite
  10. Vous pouvez maintenant pointer vers ce fichier de suite avec ANT, Jenkins ou un autre outil d'intégration continue de configuration de build.

Informations sur la version: il s'agit d'Eclipse Neon et de JUnit 4. Vous pouvez également sélectionner JUnit 3 avant de sélectionner "Terminer" à l'étape 6.

3
Red Rooster

Du haut de ma tête, créez un TestSuite et les addTests d'invocation. Si vous voulez que somesource regarde, essayez n'importe quelle bibliothèque opensource comme hibernate ou quelque chose d'Apache et jetez un œil dans le répertoire de test de la source pour une suite de tests ...

1
mP.