JUnit - Procedura di esecuzione
Questo capitolo spiega la procedura di esecuzione dei metodi in JUnit, che definisce l'ordine dei metodi chiamati. Di seguito viene illustrata la procedura di esecuzione dei metodi API di test JUnit con l'esempio.
Creare un file di classe java denominato ExecutionProcedureJunit.java in C: \> JUNIT_WORKSPACE per testare l'annotazione.
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
public class ExecutionProcedureJunit {
//execute only once, in the starting
@BeforeClass
public static void beforeClass() {
System.out.println("in before class");
}
//execute only once, in the end
@AfterClass
public static void afterClass() {
System.out.println("in after class");
}
//execute for each test, before executing test
@Before
public void before() {
System.out.println("in before");
}
//execute for each test, after executing test
@After
public void after() {
System.out.println("in after");
}
//test case 1
@Test
public void testCase1() {
System.out.println("in test case 1");
}
//test case 2
@Test
public void testCase2() {
System.out.println("in test case 2");
}
}
Successivamente, crea un file di classe java denominato TestRunner.java in C: \> JUNIT_WORKSPACE per eseguire le annotazioni.
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class TestRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(ExecutionProcedureJunit.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println(result.wasSuccessful());
}
}
Compilare le classi Test case e Test Runner utilizzando javac.
C:\JUNIT_WORKSPACE>javac ExecutionProcedureJunit.java TestRunner.java
Ora esegui il Test Runner, che eseguirà il test case definito nella classe Test Case fornita.
C:\JUNIT_WORKSPACE>java TestRunner
Verifica l'output.
in before class
in before
in test case 1
in after
in before
in test case 2
in after
in after class
Vedere l'output sopra. La procedura di esecuzione è la seguente:
- Prima di tutto, il metodo beforeClass () viene eseguito solo una volta.
- Il metodo afterClass () viene eseguito solo una volta.
- Il metodo before () viene eseguito per ogni test case, ma prima di eseguire il test case.
- Il metodo after () viene eseguito per ogni test case, ma dopo l'esecuzione del test case.
- Tra before () e after (), viene eseguito ogni test case.