Devrions-nous l'unité de test de l'exploitation forestière?

Il est habituel de voir la fonctionnalité de journalisation dans le code:

public class A {

    private static final Log LOG = LogFactory.getLog(A.class);

et utilisation:

} catch (Exception e) {
    LOG.error(e.getMessage(), e);
    throw e;
}

mais je n'ai jamais vu, même seule unité de test pour tel code.

Bien entendu, j'ai fais le test de jeter exception et le type d'exception, mais dois-je écrire de test pour vérifier les informations de journalisation? J'ai tendance à penser que la journalisation est une autre partie du comportement du système, il est donc logiquement quitter pour le couvrir dans les tests.

En supposant que je doit le couvrir, signifie que je devrais changer mon code d'origine pour injecter de la maquette du journal et vérifier que "l'erreur" de la méthode est invoquée avec le message attendu. Mais que faire si ma classe d'origine, c'est le service et il est instancié par le printemps, doit-on injecter certains enregistreur ainsi que d'autres dépendances?

OriginalL'auteur Ruslan Dzhabbarov | 2012-08-17