Desmontaje diferente para cada @Test en jUnit
¿Hay alguna forma de definir un desmontaje diferente para cada @Test en jUnit?
Utilice la @After
anotación para indicar los métodos que se ejecutarán después de cada @Test
.
El conjunto completo de anotaciones como esta son:
@BeforeClass
- antes de que todos@Tests
se ejecuten@Before
- antes@Test
de ejecutar cada uno@After
- después@Test
de ejecutar cada uno@AfterClass
- después de que todo@Tests
esté ejecutado
Me acabo de dar cuenta de que tal vez no haya entendido la pregunta. Si pregunta cómo asociar un método de desmontaje en particular a un método @Test en particular, no hay necesidad de anotaciones: simplemente llámelo al final de su método de prueba en un finalmente:
@Test
public void someTest() {
try {
// test something
} finally {
someParticularTearDown();
}
}
El objetivo de agrupar métodos de prueba en la misma clase es que puedan compartir cosas, lo que incluye tener la misma configuración y desmontaje. Entonces, sí, puede definir desmontajes separados para cada prueba, pero lo hace colocando los métodos @Test en clases diferentes.
Una vez que comienza a tener métodos de desmontaje separados, la razón por la que desea agrupar las pruebas en la misma clase no es evidente. Por lo tanto, podrías manejar esta situación siendo flexible en cuanto a cómo agrupas tus pruebas en clases.