Rövid útmutató a @TestPropertySource oldalra

1. Áttekintés

A tavasz számos funkcióval segíti a kód tesztelését. Néha bizonyos konfigurációs tulajdonságokat kell használnunk a kívánt forgatókönyv beállításához a teszteseteinkben.

Ezekben a helyzetekben felhasználhatjuk a @TestPropertySource annotáció. Ezzel az eszközzel meghatározhatunk olyan konfigurációs forrásokat, amelyek elsőbbséget élveznek, mint bármely más, a projektben használt forrás.

Ennélfogva ebben a rövid bemutatóban példákat fogunk látni, ahol ezt a jegyzetet használjuk. Ezenkívül elemezzük az alapértelmezett viselkedését és a támogatott főbb attribútumokat.

Ha többet szeretne megtudni a Spring Boot teszteléséről, javasoljuk, hogy tekintse meg a „Testing in Spring Boot” oktatóanyagunkat.

2. Függőségek

Az összes szükséges könyvtár beillesztése a projektünkbe a legkönnyebben a tavasz-csomagtartó-indító-teszt műtárgy a mi pom.xml fájl:

 org.springframework.boot spring-boot-starter-test teszt 2.0.5.FELHASZNÁLÁS 

Ellenőrizhetjük a Maven Central alkalmazást, hogy ellenőrizzük, az indító könyvtár legújabb verzióját használjuk-e.

3. Hogyan kell használni @TestPropertySource

Képzeljük el, hogy egy tulajdonság értékét úgy használjuk fel, hogy azt a @Érték Tavaszi kommentár:

@Component public class ClassUsingProperty {@Value ("$ {baeldung.testpropertysource.one}") private String propertyOne; public String retrievePropertyOne () {return propertyOne; }}

Ezután használjuk a @TestPropertySource osztályszintű feljegyzés egy új konfigurációs forrás meghatározásához és az adott tulajdonság értékének felülbírálásához:

@RunWith (SpringRunner.class) @ContextConfiguration (class = ClassUsingProperty.class) @TestPropertySource public class DefaultTest {@Autowired ClassUsingProperty classUsingProperty; @Test public void givenDefaultTPS_whenVariableRetrieved_thenDefaultFileReturned () {String output = classUsingProperty.retrievePropertyOne (); assertThat (output) .isEqualTo ("alapértelmezett érték"); }}

Általában, amikor ezt a tesztjegyzetet használjuk, a @ContextConfiguration egyet a fájl betöltéséhez és konfigurálásához ApplicationContext a forgatókönyvhöz.

Alapértelmezés szerint a @TestPropertySource az annotáció megpróbálja betölteni a tulajdonságait fájl ahhoz az osztályhoz képest, amely deklarálta a jegyzetet.

Ebben az esetben például, ha teszt osztályunk a com.baeldung.testpropertysource csomagot, akkor szükségünk lesz a fájlra com / baeldung / testpropertysource / DefaultTest.properties osztályúton.

Adjuk hozzá az erőforrások mappánkhoz:

# DefaultTest.properties baeldung.testpropertysource.one = alapértelmezett érték

Ezenkívül megváltoztathatjuk az alapértelmezett konfigurációs fájl helyét, vagy hozzáadhatunk további tulajdonságokat, amelyek még nagyobb prioritással bírnak:

@TestPropertySource (helyek = "/other-location.properties", tulajdonságok = "baeldung.testpropertysource.one = egyéb tulajdonság-érték")

Végül megadhatjuk, hogy örökölni akarunk-e helyszínek és tulajdonságait a szuperosztályok értékei vagy sem. Ezért átkapcsolhatjuk a örökségLocations és örökségTulajdonságok attribútumok, amelyek igaz alapértelmezés szerint.

4. Következtetés

Ezzel az egyszerű példával megtanultuk a @TestPropertySource A tavaszi kommentár hatékonyan.

A különböző forgatókönyvekre példákat találhatunk Github-tárunkban.


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