java junit installation test-suite

java - junit libraries



ConfiguraciĆ³n TestSuite en jUnit 4 (1)

Esto es lo que tengo y funciona bien.

import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) @SuiteClasses({ TestSuite1.class, TestSuite2.class }) public class CompleteTestSuite { @BeforeClass public static void setUpClass() { System.out.println("Master setup"); } @AfterClass public static void tearDownClass() { System.out.println("Master tearDown"); } }

Aquí está mi banco de pruebas 1 (haga lo mismo para el banco de pruebas 2).

import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @RunWith(value = Suite.class) @SuiteClasses(value = { TestCase1.class }) public class TestSuite1 {}

Y aquí está mi clase de prueba. Cree ambos testcase1 y testcase2.

import static org.junit.Assert.assertEquals; import org.junit.BeforeClass; import org.junit.Test; public class TestCase1 { @BeforeClass public static void setUpClass() { System.out.println("TestCase1 setup"); } @Test public void test1() { assertEquals(2 , 2); } }

deberías tener 5 clases completa suite suite1 suite2 test1 prueba2

y asegúrate de tener Junit en tu ruta de compilación. Esto debería correr!

Aquí está la salida

Master setup TestCase1 setup Master tearDown

He logrado averiguar cómo hacer un TestSuite en jUnit 4, pero realmente echo de menos la posibilidad v3 de envolver un conjunto en un TestSetup.

¿Alguna idea sobre cómo obtener la configuración @ BeforeClass / @ AfterClass ejecutada para un conjunto de casos de prueba en jUnit 4?

Es decir

@RunWith(Suite.class) @Suite.SuiteClasses({Test1.class, Test2.class}) public class MyTestSuite { @BeforeClass public static void setUpClass() { // Common initialization done once for Test1 + Test2 } @AfterClass public static void tearDownClass() { // Common cleanup for all tests } }

Lamentablemente, el fragmento de código anterior no funciona. @BeforeClass solo funciona por clase de prueba.