Astuce Méthode d'initialisation au début de la classe de test

Pour effectuer un traitement une fois au début des tests, on utilise généralement la méthode suivante dans la classe de test :

@BeforeClass
public static void oneTimeSetUp() {

    logger = LoggerFactory.getLogger(MyClassTest.class);
    logger.info("Début des tests unitaires.");
}

Cela permet d'initialiser un logger, configurer l'environnement à utiliser pour tous les tests, ...

Cette méthode ne semble pas fonctionner avec JCMS (dans eclipse en tous cas). Vous pouvez faire l'équivalent grâce à la méthode suite() à ajouter dans votre classe de test :

/**
 * Initialise un contexte pour une suite de tests, avec des méthodes d'initialisation et de finalisation.
 * 
 * @return une configuration de suite de tests
 */
public static TestSetup suite() {

    return new TestSetup(new TestSuite(MyClassTest.class)) {

        @Before
        @Override
        protected void setUp() throws Exception {
            logger = LoggerFactory.getLogger(MyClassTest.class);
            logger.info("Début des tests unitaires.");
        }

        @After
        @Override
        protected void tearDown() throws Exception {
            logger.info("Fin des tests unitaires.");
        }
    };
}

Remarque :

La méthode tearDown() permet d'effectuer un traitement une fois après tous les tests.