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.


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