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.