Kratki vodič za @TestPropertySource
1. Pregled
Proljeće donosi brojne značajke koje će nam pomoći pri testiranju našeg koda. Ponekad moramo koristiti određena svojstva konfiguracije kako bismo postavili željeni scenarij u našim testnim slučajevima.
U tim situacijama, možemo iskoristiti @TestPropertySource bilješka. Ovim alatom možemo definirati izvore konfiguracije koji imaju veći prioritet od bilo kojeg drugog izvora koji se koristi u projektu.
Stoga ćemo u ovom kratkom vodiču vidjeti primjere u kojima koristimo ovu napomenu. Također ćemo analizirati njegovo zadano ponašanje i glavne atribute koje podržava.
Da biste saznali više o testiranju u Spring Boot-u, predlažemo da pogledate naš vodič "Testiranje u Spring Boot-u".
2. Ovisnosti
U naš projekt najlakši je način uključiti sve potrebne knjižnice dodavanjem proljetni-boot-starter-test artefakt u našem pom.xml datoteka:
org.springframework.boot test-test spring-boot-starter-test 2.0.5.OSLOBODI
Možemo provjeriti Maven Central kako bismo provjerili koristimo li najnoviju verziju početne biblioteke.
3. Kako koristiti @TestPropertySource
Zamislimo da koristimo vrijednost svojstva ubrizgavanjem pomoću @Vrijednost Proljetna napomena:
@Component javna klasa ClassUsingProperty {@Value ("$ {baeldung.testpropertysource.one}") private String propertyOne; javni String retrievePropertyOne () {return propertyOne; }}
Tada ćemo upotrijebiti @TestPropertySource napomena na razini klase za definiranje novog izvora konfiguracije i nadjačavanje vrijednosti tog svojstva:
@RunWith (SpringRunner.class) @ContextConfiguration (classes = ClassUsingProperty.class) @TestPropertySource javna klasa DefaultTest {@Autowired ClassUsingProperty classUsingProperty; @Test javna praznina givenDefaultTPS_whenVariableRetrieved_thenDefaultFileReturned () {String output = classUsingProperty.retrievePropertyOne (); assertThat (output) .isEqualTo ("zadana vrijednost"); }}
Tipično, kad god koristimo ovu testnu napomenu, mi ćemo uključiti i @ContextConfiguration jedan tako da učita i konfigurira ApplicationContext za scenarij.
Prema zadanim postavkama @TestPropertySource bilješka pokušava učitati a Svojstva datoteka u odnosu na klasu koja je proglasila napomenu.
U ovom slučaju, na primjer, ako je naša ispitna klasa u com.baeldung.testpropertysource paket, tada će nam trebati datoteka com / baeldung / testpropertysource / DefaultTest.properties u našem razredu.
Zatim ga dodajte u našu mapu resursa:
# DefaultTest.properties baeldung.testpropertysource.one = zadana vrijednost
Uz to, možemo promijeniti zadanu lokaciju datoteke konfiguracije ili dodati dodatna svojstva koja će imati još veći prioritet:
@TestPropertySource (lokacije = "/other-location.properties", svojstva = "baeldung.testpropertysource.one = other-property-value")
Konačno, možemo odrediti želimo li nasljeđivati lokacijama i Svojstva vrijednosti iz superrazreda ili ne. Stoga možemo prebacivati naslijeditiLokacije i naslediti svojstva atributi, koji su pravi prema zadanim postavkama.
4. Zaključak
Ovim jednostavnim primjerom naučili smo kako koristiti @TestPropertySource Proljetna bilješka učinkovito.
Primjere za različite scenarije možemo pronaći u našem spremištu Github.