2014-07-07 12 views
7

Gibt es eine Möglichkeit, die Logback-Konfigurationsdatei für die Verwendung in einem von Spring ausgeführten JUnit anzugeben?SpringJUnit4ClassRunner zum Abrufen der spezifischen Logback-Konfiguration

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration("/my/app/springConfiguration.xml") 
public class MyTest { 
    private static final Logger logger = LoggerFactory.getLogger(MyTest.class); 

    @Autowired 
    Something something; 
} 

Nun, ich habe logback.xml und mehrere von ihnen. Es gibt einen, der in prod laufen soll, und dann gibt es einen, den ich diesen Test aufnehmen möchte. Gibt es einen einfachen Weg, es zu tun?


Edit: Diese Frage zu Fall spezifisch ist, wenn ich die JUnit von meinem Eclipse-leite. Ich arbeite auf Eclipse 4.3 auf Windows 7.


+0

Welches Build-System verwenden Sie? – chrylis

+4

Setzen Sie die eine für Ihre Tests in 'src/test/resources' die Produktion in' src/main/resources'. Sie können auch Ihre Testkonfiguration 'logback-test.xml' benennen, die auch per Logback abgerufen werden soll. –

+0

Ok. Aber wie würde Spring wissen, wen man wann aufhebt? Ich wollte sehen, ob es irgendwo möglich ist, dass ich es zwingen könnte, eines über das andere zu heben. Z.B. Wie bei @ContextConfiguration gibt es noch etwas anderes, das der JUnit sagt, dass sie eine bestimmte Logback-Konfiguration übernehmen soll? – partha

Antwort

1

Führen Sie den Standort als JVM argurment auf der Konfiguration, die Ihre Tests in Eclipse läuft.

-Dlogback.configurationFile="fullpathtofile\logback.xml" 
Verwandte Themen