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ő.