2014-07-07 1 views
7

Esiste un modo per specificare il file di configurazione di logback da utilizzare in una JUnit eseguita da Spring?SpringJUnit4ClassRunner per rilevare una configurazione di logback specifica

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

    @Autowired 
    Something something; 
} 

Ora, ho avuto logback.xml e più di loro. Ce n'è uno che dovrebbe funzionare in prod e poi ce n'è uno che voglio testare. C'è un modo semplice per farlo?


Modifica: questa domanda è specifica per il caso in cui eseguo JUnit dal mio Eclipse. Sto lavorando su Eclipse 4.3 su Windows 7.


+0

Quale sistema di generazione stai usando? – chrylis

+4

Metti quello per i tuoi test in 'src/test/resources' quello di produzione in' src/main/resources'. Puoi anche dare un nome al tuo test config 'logback-test.xml' che dovrebbe anche essere raccolto da logback. –

+0

Ok. Ma come avrebbe saputo Spring quale prendere quando. Volevo vedere se in qualche modo avrei potuto forzarlo a coglierne uno su un altro. Per esempio. come @ContextConfiguration c'è qualcos'altro che dice a JUnit di prendere una particolare configurazione di logback? – partha

risposta

1

Passare la posizione come argurment JVM dalla configurazione che viene eseguito i test in Eclipse.

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