Sobes.tech
Junior — Middle

Hogyan biztosítható az egységes kontextusemelés különböző osztályokban elhelyezkedő tesztek esetén?

sobes.tech MI

Válasz az MI-től

Annak érdekében, hogy egységesen emeljük a tesztkörnyezetet, amely különböző Java osztályokban található, általában közös alap osztályt vagy konfigurációs osztályt használunk, amely inicializálja a szükséges kontextust.

Például Spring tesztekben létrehozhatunk egy osztályt az @ContextConfiguration annotációval, és ezt használhatjuk minden tesztosztály alapjaként. Emellett az alap osztályban az @BeforeClass annotációt is használhatjuk, hogy egyszeri inicializálást hajtsunk végre minden teszt futtatása előtt.

Példa:

@RunWith(SpringRunner.class)
@ContextConfiguration(classes = AppConfig.class)
public abstract class BaseTest {
    @BeforeClass
    public static void setUpContext() {
        // Közös kontextus inicializálása
    }
}

public class FirstTest extends BaseTest {
    @Test
    public void testSomething() {
        // teszt
    }
}

public class SecondTest extends BaseTest {
    @Test
    public void testAnother() {
        // teszt
    }
}

Így a kontextus egyszer az alap osztályban kerül felállításra, és minden örökölt osztályban elérhető.