Saltar la navegación

a.2.- Etiquetas JUnit

.En esta sección se describen las utilizadas con mayor frecuencia.

Estas serían las etiquetas más utilizadas:

  • @BeforeClass: Sólo puede haber un método con este marcador, es invocado una vez al principio de todas los test. Se suele usar para inicializar atributos.
  • @AfterClass: Sólo puede haber un método con este marcador y se invoca al finalizar todas los test.
  • @Before: Se ejecuta antes de de cada test.
  • @After: Se ejecuta después de cada test.
  • @Ignore: Los métodos marcados con esta anotación no serán ejecutados.
  • @Test: Identifica los métodos test que deben ser probados

La que mas usaremos sera BeforeClass y Test, pero siempre nos puede venir venir bien usar alguna de las anotaciones anteriores.

 

Unas anotaciones a destacar son @beforeclass y @afterclass, tienen algunas diferencias respecto a las anteriores: 

  • @beforeclass: solo puede haber un método con esta etiqueta. El método marcado con esta anotación es invocado una vez al principio del lanzamiento de todas las pruebas. Se suele utilizar para inicializar atributos comunes a todas las pruebas o para realizar acciones que tardan un tiempo considerable en ejecutarse.
  • @afterclass: solo puede haber un método con esta anotación. Este método será invocado una sóla vez cuando finalicen todas las pruebas.

Este es el código que te ha generado NetBeans:

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
*
* @author Admin
*/

public class ClaseUnoJUnitTest_ {

public ClaseUnoJUnitTest_() {


}

@BeforeClass
public static void setUpClass() {
}

@AfterClass
public static void tearDownClass() {
}

@Before
public void setUp() {
}

@After
public void tearDown() {
}

// TODO add test methods here.
// The methods must be annotated with annotation @Test. For example:
//
// @Test
// public void hello() {}
}

En dicho código he incluido una serie de mensajes para ver en que orden se ejecutan los métodos. Este sería el código:

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
*
* @author Admin
*/
public class ClaseUnoJUnitTest_ {

public ClaseUnoJUnitTest_() {
  System.out.println("Llamando a la función constructora: ClaseUnoJUnitTest");
}

@BeforeClass
public static void setUpClass() {
System.out.println("Llamando a setUpClass, con la etiqueta @BeforeClass");

}

@AfterClass
public static void tearDownClass() {
System.out.println("Llamando a tearDownClass con la etiqueta @AfterClass");
}

@Before
public void setUp() {

System.out.println("Llamando a setUp con la etiqueta @Before");
}

@After
public void tearDown() {
System.out.println("Llamando a tearDown con la etiqueta @After");
}

// TODO add test methods here.
// The methods must be annotated with annotation @Test. For example:
//
// @Test
// public void hello() {}
@Test
public void testDevuelveTrue() {

System.out.println("Llamando a testDevuelveTrue con la etiqueta @Test");
}


}

Para ejecutarlo, tienes que dar al botón derecho del ratón:

Captura de pantalla donde se muestra el proceso de prueba de JUnit.

Y eliges la opción "Run File".

La salida sería esta:

Captura de pantalla donde se muestra el proceso de prueba de JUnit.

Así puedes ver en que orden se ejecutan los métodos.