Anotácie SpringJUnitConfig a SpringJUnitWebConfig na jar 5
1. Úvod
V tomto rýchlom článku sa pozrieme na nové @SpringJUnitConfig a @SpringJUnitWebConfig anotácie k dispozícii na jar 5.
Tieto anotácie sú zložením anotácií JUnit 5 a Spring 5 ktoré uľahčujú a urýchľujú vytváranie testov.
2. @SpringJUnitConfig
@SpringJUnitConfig kombinuje tieto 2 poznámky:
- @ExtendWith (SpringExtension.class) od JUnit 5 vykonať test s SpringExtension triedy a
- @ContextConfiguration z jarných testov načítať jarný kontext
Vytvorme test a využime túto anotáciu v praxi:
@SpringJUnitConfig (SpringJUnitConfigIntegrationTest.Config.class) verejná trieda SpringJUnitConfigIntegrationTest {@Configuration statická trieda Config {}}
Všimnite si, že na rozdiel od @ContextConfiguration, konfiguračné triedy sa deklarujú pomocou hodnotu atribút. Umiestnenia zdrojov by však mali byť určené pomocou umiestnenia atribút.
Teraz môžeme overiť, či bol jarný kontext skutočne načítaný:
@Autowired private ApplicationContext applicationContext; @Test void givenAppContext_WhenInjected_ThenItShouldNotBeNull () {assertNotNull (applicationContext); }
Nakoniec tu máme ekvivalentný kód @SpringJUnitConfig (SpringJUnitConfigTest.Config.class):
@ExtendWith (SpringExtension.class) @ContextConfiguration (triedy = SpringJUnitConfigTest.Config.class)
3. @SpringJUnitWebConfig
@SpringJUnitWebConfigkombinuje rovnaké anotácie @SpringJUnitConfig plus @WebAppConfiguration z jarného testovania - naložiť WebApplicationContext.
Pozrime sa, ako táto anotácia funguje:
@SpringJUnitWebConfig (SpringJUnitWebConfigIntegrationTest.Config.class) verejná trieda SpringJUnitWebConfigIntegrationTest {@Configuration statická trieda Konfigurácia {}}
Páči sa mi to @SpringJUnitConfig, konfiguračné triedy idú do hodnotu atribút a všetky zdroje sú špecifikované pomocou umiestnenia atribút.
Tiež hodnotu atribút @WebAppConfiguration by teraz malo byť špecifikované pomocou resourcePath atribút. Predvolene je tento atribút nastavený na „Src / main / webapp“.
Poďme si overiť, či WebApplicationContext bol skutočne načítaný:
@Autowired private WebApplicationContext webAppContext; @Test void givenWebAppContext_WhenInjected_ThenItShouldNotBeNull () {assertNotNull (webAppContext); }
Opäť tu máme ekvivalentný kód bez použitia @SpringJUnitWebConfig:
@ExtendWith (SpringExtension.class) @WebAppConfiguration @ContextConfiguration (triedy = SpringJUnitWebConfigIntegrationTest.Config.class)
4. Záver
V tomto krátkom tutoriáli sme si ukázali, ako používať novo predstavené @SpringJUnitConfig a @SpringJUnitWebConfig anotácie na jar 5.
Celý zdrojový kód príkladov je k dispozícii na GitHub.