Este artículo contiene anotaciones JUnit y ejemplos para mostrar cómo usarlos. Las anotaciones nos permiten usar cualquier nombre de método sin seguir ninguna convención. En realidad, se ha convertido en una forma muy popular para muchos proyectos, marcos, etc.
Puede hacer preguntas como: ¿Cómo omitir un caso de prueba en Junit? ¿Cómo agotar el tiempo de espera de una prueba? Las anotaciones pueden hacer que sean muy simples de implementar, sin siquiera escribir ningún código complejo para la configuración.
@Prueba
Esto marca un método para ser un método de prueba. Una clase de prueba puede tener MÚLTIPLES métodos de prueba.
@Antes y después de
Ejecutará el método antes / después de cada prueba. Este método puede preparar / limpiar el entorno de prueba (por ejemplo, leer datos de entrada, inicializar la clase, eliminar datos temporales, etc.). Como una clase puede tener varios métodos de prueba, los métodos @Before y @After se ejecutarán antes y después de cada prueba. Esto es diferente con @BeforeClass y @AfterClass.
@Before public void setUp() throws Exception { //setup something } @After public void tearDown() throws Exception { //tear down something } |
@BeforeClass y @AfterClass
@BeforeClass se ejecuta antes del inicio de las pruebas. Esto se puede utilizar para realizar actividades que requieren mucho tiempo, por ejemplo, conectarse a una base de datos. @AfterClass se ejecuta después de que todas las pruebas hayan finalizado. Esto se puede utilizar para realizar actividades de limpieza, por ejemplo, desconectarse de una base de datos. Esos dos solo se ejecutan una vez, sin importar cuántas pruebas tenga la clase. También debe declarar el método «@BeforeClass» y «@AfterClass» como método estático. Las dos anotaciones deben usarse para hacer un código de inicialización estático y destruir las variables estáticas.
@BeforeClass public static void runBeforeClass() { // run before all test cases } @AfterClass public static void runAfterClass() { // run after all test cases } |
@Ignorar
Ignorará el método de prueba. Esto es útil cuando se ha cambiado el código subyacente y el caso de prueba aún no se ha adaptado. O si el tiempo de ejecución de esta prueba es demasiado largo para incluirlo.
@Ignore("ignored method") @Test public void someTestMethod() { System.out.println("Method is ignored"); } |
@Test (esperado = Exception.class)
Si un caso de prueba espera alguna excepción, use esta anotación. Falla, si el método no lanza la excepción nombrada.
@Test(expected = ArithmeticException.class) public void divisionWithException() { int i = 1/0; } |
@Test (tiempo de espera = 100)
Si desea agotar el tiempo de espera de una prueba, use la anotación de tiempo de espera. Fallará si el método tarda más de 100 milisegundos.
@Test(timeout = 100) public void timeoutMethod() { while (true); } |