Bilješke SpringJUnitConfig i SpringJUnitWebConfig u proljeće 5
1. Uvod
U ovom ćemo kratkom članku pogledati novo @SpringJUnitConfig i @SpringJUnitWebConfig napomene dostupne u proljeće 5.
Ove su bilješke sastavljene od bilješki JUnit 5 i Spring 5 koji čine stvaranje testa lakšim i bržim.
2. @SpringJUnitConfig
@SpringJUnitConfig kombinira ove 2 bilješke:
- @ExtendWith (SpringExtension.class) od JUNITA 5 za pokretanje testa s ProljećeEkstenzija razred i
- @ContextConfiguration iz proljetnog testiranja za učitavanje konteksta Spring
Stvorimo test i upotrijebimo ovu bilješku u praksi:
@SpringJUnitConfig (SpringJUnitConfigIntegrationTest.Config.class) javna klasa SpringJUnitConfigIntegrationTest {@Configuration static class Config {}}
Primijetite da, za razliku od @ContextConfiguration, konfiguracijske klase deklariraju se pomoću vrijednost atribut. Međutim, mjesta resursa treba navesti s lokacijama atribut.
Sada možemo provjeriti je li kontekst Proljeća stvarno učitan:
@Autowired privatni ApplicationContext applicationContext; @Test void givenAppContext_WhenInjected_ThenItShouldNotBeNull () {assertNotNull (applicationContext); }
Napokon, ovdje imamo ekvivalentni kod @SpringJUnitConfig (SpringJUnitConfigTest.Config.class):
@ExtendWith (SpringExtension.class) @ContextConfiguration (klase = SpringJUnitConfigTest.Config.class)
3. @SpringJUnitWebConfig
@SpringJUnitWebConfigkombinira iste bilješke @SpringJUnitConfig plus @WebAppConfiguration s proljetnog testiranja - za učitavanje WebApplicationContext.
Pogledajmo kako funkcionira ova napomena:
@SpringJUnitWebConfig (SpringJUnitWebConfigIntegrationTest.Config.class) javna klasa SpringJUnitWebConfigIntegrationTest {@Configuration static class Config {}}
Kao @SpringJUnitConfig, klase konfiguracije idu u vrijednost atribut a svi su resursi navedeni pomoću lokacijama atribut.
Također, vrijednost atribut @WebAppConfiguration sada treba navesti pomoću resourcePath atribut. Prema zadanim postavkama ovaj je atribut postavljen na “Src / main / webapp”.
Provjerimo sada da WebApplicationContext je stvarno učitan:
@Autowired private WebApplicationContext webAppContext; @Test void givenWebAppContext_WhenInjected_ThenItShouldNotBeNull () {assertNotNull (webAppContext); }
Opet, ovdje imamo ekvivalentni kod bez upotrebe @SpringJUnitWebConfig:
@ExtendWith (SpringExtension.class) @WebAppConfiguration @ContextConfiguration (classes = SpringJUnitWebConfigIntegrationTest.Config.class)
4. Zaključak
U ovom kratkom vodiču pokazali smo kako koristiti novo predstavljeno @SpringJUnitConfig i @SpringJUnitWebConfig bilješke u proljeće 5.
Potpuni izvorni kod za primjere dostupan je na GitHubu.