Sobes.tech
Junior — Middle

Hoe kun je een uniforme contextverhoging voor tests in verschillende klassen garanderen?

sobes.tech AI

Antwoord van AI

Om een uniforme opheffing van de testcontext te garanderen, die zich in verschillende klassen in Java bevinden, wordt meestal een gemeenschappelijke basisklasse of een configuratieklasse gebruikt die de benodigde context initialiseert.

Bijvoorbeeld, in Spring-tests kan je een klasse maken met de annotatie @ContextConfiguration en deze gebruiken als basis voor alle testklassen. Je kunt ook de annotatie @BeforeClass gebruiken in de basisklasse om de initialisatie één keer uit te voeren voordat alle tests worden gestart.

Voorbeeld:

@RunWith(SpringRunner.class)
@ContextConfiguration(classes = AppConfig.class)
public abstract class BaseTest {
    @BeforeClass
    public static void setUpContext() {
        // Initialisatie van de gemeenschappelijke context
    }
}

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

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

Op deze manier wordt de context één keer in de basisklasse opgestart en is deze beschikbaar in alle afgeleiden.