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.


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