Kommentarerne om SpringJUnitConfig og SpringJUnitWebConfig i forår 5

1. Introduktion

I denne hurtige artikel vil vi se på det nye @SpringJUnitConfig og @SpringJUnitWebConfig annoteringer tilgængelige i foråret 5.

Disse kommentarer er en sammensætning af JUnit 5 og Spring 5-kommentarer der gør testoprettelse nemmere og hurtigere.

2. @SpringJUnitConfig

@SpringJUnitConfig kombinerer disse 2 kommentarer:

  • @ExtendWith (SpringExtension.class) fra JUnit 5 at køre testen med SpringExtension klasse og
  • @ContextConfiguration fra Spring Testing for at indlæse foråret sammenhæng

Lad os oprette en test og bruge denne kommentar i praksis:

@SpringJUnitConfig (SpringJUnitConfigIntegrationTest.Config.class) offentlig klasse SpringJUnitConfigIntegrationTest {@Configuration statisk klasse Config {}}

Bemærk, at i modsætning til @ContextConfiguration, erklæres konfigurationsklasser ved hjælp af værdi attribut. Ressourceplaceringer skal dog specificeres med placeringer attribut.

Vi kan nu kontrollere, at forårssammenhængen virkelig blev indlæst:

@Autowired privat ApplicationContext applicationContext; @Test ugyldigt givetAppContext_WhenInjected_ThenItShouldNotBeNull () {assertNotNull (applicationContext); }

Endelig her har vi den tilsvarende kode for @SpringJUnitConfig (SpringJUnitConfigTest.Config.class):

@ExtendWith (SpringExtension.class) @ContextConfiguration (klasser = SpringJUnitConfigTest.Config.class)

3. @SpringJUnitWebConfig

@SpringJUnitWebConfigkombinerer de samme kommentarer til @SpringJUnitConfig plus @WebAppConfiguration fra forårstest - at indlæse WebApplicationContext.

Lad os se, hvordan denne kommentar fungerer:

@SpringJUnitWebConfig (SpringJUnitWebConfigIntegrationTest.Config.class) offentlig klasse SpringJUnitWebConfigIntegrationTest {@Configuration statisk klasse Config {}}

Synes godt om @SpringJUnitConfig, konfigurationsklasserne går i værdi attribut og eventuelle ressourcer specificeres ved hjælp af placeringer attribut.

Også den værdi attribut for @WebAppConfiguration skal nu specificeres ved hjælp af resourcePath attribut. Denne attribut er som standard indstillet til “Src / main / webapp”.

Lad os nu kontrollere, at WebApplicationContext var virkelig lastet:

@Autowired privat WebApplicationContext webAppContext; @Test ugyldigt givenWebAppContext_WhenInjected_ThenItShouldNotBeNull () {assertNotNull (webAppContext); }

Igen, her har vi den tilsvarende kode uden at bruge @SpringJUnitWebConfig:

@ExtendWith (SpringExtension.class) @WebAppConfiguration @ContextConfiguration (klasser = SpringJUnitWebConfigIntegrationTest.Config.class)

4. Konklusion

I denne korte vejledning viste vi, hvordan man bruger den nyligt introducerede @SpringJUnitConfig og @SpringJUnitWebConfig annoteringer i foråret 5.

Den fulde kildekode til eksemplerne er tilgængelig på GitHub.


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