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.


$config[zx-auto] not found$config[zx-overlay] not found