Szerezze be a / src / test / resources könyvtár elérési útját a JUnit-ben

1. Áttekintés

Előfordulhat, hogy az egység tesztelése során el kell olvasnunk néhány fájlt az osztályútvonalról, vagy át kell adnunk egy fájlt egy tesztelt objektumnak. Vagy lehet, hogy van fájlunk src / test / resources a csonkok adataival, amelyeket olyan könyvtárak használhatnak fel, mint a WireMock.

Ebben az oktatóanyagban megmutatjuk, hogyan kell olvasni a / src / test / resources Könyvtár.

2. Maven-függőségek

Először hozzá kell adnunk a JUnit 5-et a Maven-függőségeinkhez:

 org.junit.jupiter junit-jupiter-motor 5.4.2 

A JUnit 5 legújabb verzióját megtalálhatjuk a Maven Central oldalán.

2. Használata java.io.Fájl

A legegyszerűbb megközelítés a java.io.Fájl osztály hogy elolvassa a / src / test / resources könyvtárat a getAbsolutePath () módszer:

Karakterlánc útvonala = "src / test / resources"; File file = új File (elérési út); Karakterlánc abszolút elérési út = file.getAbsolutePath (); System.out.println (absolutPath); assertTrue (absolutPath.endsWith ("src / teszt / erőforrások"));

Vegye figyelembe, hogy ez az út az aktuális munkakönyvtárhoz viszonyítva, vagyis a projekt könyvtár.

Lássunk egy példa kimenetet a teszt futtatásakor macOS-on:

/Users/user.name/my_projects/tutorials/testing-modules/junit-5-configuration/src/test/resources

3. Használata Pálya

Ezután használhatjuk a Pálya osztály, amelyet a Java 7-ben vezettek be.

Először statikus gyári módszert kell meghívnunk - Paths.get (). Aztán megtérünk Pálya nak nek File. Végül csak felhívnunk kell getAbsolutePath (), mint az előző példában:

Path resourceDirectory = Paths.get ("src", "teszt", "források"); Karakterlánc abszolút útvonal = resourceDirectory.toFile (). GetAbsolutePath (); System.out.println (absolutPath); Assert.assertTrue (absolutPath.endsWith ("src / teszt / erőforrások")); 

És ugyanazt a kimenetet kapnánk, mint az előző példában:

/Users/user.name/my_projects/tutorials/testing-modules/junit-5-configuration/src/test/resources

4. Használata ClassLoader

Végül használhatjuk a ClassLoader:

String erőforrásNév = "példa_forrás.txt"; ClassLoader classLoader = getClass (). GetClassLoader (); Fájlfájl = új Fájl (classLoader.getResource (erőforrásNév) .getFile ()); Karakterlánc abszolút elérési út = file.getAbsolutePath (); System.out.println (absolutPath); assertTrue (absolutPath.endsWith ("/ pelda_resource.txt")); 

És nézzük meg a kimenetet:

/Users/user.name/my_projects/tutorials/testing-modules/junit-5-configuration/target/test-classes/example_resource.txt

Ne feledje, hogy ezúttal a /junit-5-configuration/target/test-classes/example-resource.txt fájl. Különbözik, ha összehasonlítjuk az eredményt az előző módszerekkel.

Ez azért van, mert a ClassLoader keresi az erőforrásokat az osztályúton. Mavenben az összeállított osztályok és források a /cél/ Könyvtár. Ezért ezúttal utat kaptunk egy classpath erőforráshoz.

5. Következtetés

Összefoglalva, ebben a gyors bemutatóban megbeszéltük, hogyan kell olvasni a / src / test / resources könyvtár az 5. JUnit-ben.

Igényeinktől függően több módszerrel is elérhetjük célunkat: felhasználással File, Útvonalak, vagy ClassLoader osztályok.

Mint mindig, minden példánkat megtalálhatja a GitHub projektünkön!


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