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.