Utilizzo un'applicazione Spring Boot e l'auto cofiguration è abilitata. Il file dell'applicazione principale è contrassegnato come @EnableAutoConfiguration
. L'origine dati viene cercata da JNDI è configurata utilizzando java config e la classe che crea l'origine dati è contrassegnata come @Configuration
.Avvio a molla con origine dati durante il test
Ho una classe di test come di seguito.
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(classes = Application.class)
public class TestSomeBusiness {}
il problema è quando si esegue il test case, la ricerca origine dati JNDI accade, che non riesce perché il caso di test non è in esecuzione all'interno di un ambiente server. Per quanto ne so, le classi in classpath contrassegnate con @Configuration
vengono eseguite e il motivo per cui viene richiamata la ricerca dell'origine dati.
Il lavoro attorno al quale ho trovato è invece di cercare JNDI creare l'origine dati utilizzando DriverManagerDataSource
, in modo che anche se non è un ambiente server, la ricerca dell'origine dati non avrà esito negativo.
Le mie domande sono:
1) Come ci trattano generalmente di origine dati (quando alzando lo sguardo dal JNDI) in applicazione di avvio primavera per il test?
2) Esiste un modo per escludere la chiamata alla classe di configurazione dell'origine dati durante l'esecuzione del test case?
3) Devo creare un server incorporato in modo che la ricerca JNDI possa essere eseguita durante l'esecuzione del test case?