A SpringJUnitConfig és a SpringJUnitWebConfig kommentárok az 5. tavasszal
1. Bemutatkozás
Ebben a gyors cikkben megnézzük az újat @SpringJUnitConfig és @SpringJUnitWebConfig az 5. tavasszal elérhető kommentárok.
Ezek az annotációk a JUnit 5 és az Spring 5 kommentárokból állnak amelyek megkönnyítik és gyorsítják a tesztkészítést.
2. @SpringJUnitConfig
@SpringJUnitConfig ezeket a két kommentárt ötvözi:
- @ExtendWith (SpringExtension.class) az 5. JUnitből hogy a tesztet a SpringExtension osztály és
- @ContextConfiguration tavaszi tesztelésből a tavaszi kontextus betöltésére
Hozzunk létre egy tesztet, és használjuk ezt a jegyzetet a gyakorlatban:
@SpringJUnitConfig (SpringJUnitConfigIntegrationTest.Config.class) public class SpringJUnitConfigIntegrationTest {@Configuration static class Config {}}
Figyelje meg, hogy ellentétben a @ContextConfiguration, a konfigurációs osztályokat a érték tulajdonság. Az erőforrások helyét azonban a helyszínek tulajdonság.
Most ellenőrizhetjük, hogy a tavaszi kontextus valóban betöltődött-e:
@Autowired private ApplicationContext applicationContext; @Test void givenAppContext_WhenInjected_ThenItShouldNotBeNull () {assertNotNull (applicationContext); }
Végül itt van a megfelelő kód @SpringJUnitConfig (SpringJUnitConfigTest.Config.class):
@ExtendWith (SpringExtension.class) @ContextConfiguration (class = SpringJUnitConfigTest.Config.class)
3. @SpringJUnitWebConfig
@SpringJUnitWebConfigegyesíti a @SpringJUnitConfig plusz a @WebAppConfiguration tavaszi tesztelésből - a WebApplicationContext.
Nézzük meg, hogyan működik ez a kommentár:
@SpringJUnitWebConfig (SpringJUnitWebConfigIntegrationTest.Config.class) public class SpringJUnitWebConfigIntegrationTest {@Configuration static class Config {}}
Mint @SpringJUnitConfig, a konfigurációs osztályok a érték tulajdonság és az erőforrásokat a helyszínek tulajdonság.
Továbbá a érték attribútuma @WebAppConfiguration most a resourcePath tulajdonság. Alapértelmezés szerint ez az attribútum értéke: „Src / main / webapp”.
Ellenőrizzük most, hogy a WebApplicationContext valóban betöltődött:
@Autowired private WebApplicationContext webAppContext; @Test void givenWebAppContext_WhenInjected_ThenItShouldNotBeNull () {assertNotNull (webAppContext); }
Itt is megvan az egyenértékű kód használata nélkül @SpringJUnitWebConfig:
@ExtendWith (SpringExtension.class) @WebAppConfiguration @ContextConfiguration (class = SpringJUnitWebConfigIntegrationTest.Config.class)
4. Következtetés
Ebben a rövid bemutatóban megmutattuk, hogyan kell használni az újonnan bevezetett programot @SpringJUnitConfig és @SpringJUnitWebConfig annotációk 5. tavasszal.
A példák teljes forráskódja elérhető a GitHub oldalon.