Documentos de Académico
Documentos de Profesional
Documentos de Cultura
11_JUnit_IDE
Contenido
1. JUnit en Eclipse
Podemos escribir las pruebas JUnit manualmente, pero Eclipse apoya la creación de
pruebas JUnit mediante asistentes.
Una vez creado hay que crear una carpeta de código separada para los tests,
es una práctica habitual aunque no es necesario para su funcionamiento.
Pero la idea es tener el código del proyecto separado del código de los tests
unitarios.
Lo ideal es escribir casos de prueba para cada método no trivial de cada clase
de la aplicación, de forma que cada caso sea independiente del resto.
Tan simple e inútil que simplemente guarda dos variables que se podrán
sumar y restar. Tiene dos métodos, para poder hacer la prueba de meter dos
tests en una misma clase de JUnit.
package com.dam1d.proyecto_junit;
@Before
public void setUp() throws Exception {
/**
* El metodo precedido por la etiqueta @Before
* es para indicar a JUnit que debe ejecutarlo
* antes de ejecutar los Tests que figuran en
* esta clase.
*/
this.suma = new Suma(3, 5);
}
@After
public void tearDown() throws Exception {
/**
* La etiqueta @After es la antítesis de @Before.
* Simplemente este metodo se ejecutara después de
* ejecutar todos los tests de esta clase.
*/
// en este caso no hago nada, solo está de ejemplo
}
@Test
public void testSumar() {
/**
* La etiqueta @Test indica que es método de prueba
*/
int resultado = this.suma.sumar();
// con esto verificamos que el resultado es el esperado
assertTrue(resultado == 8);
}
@Test
public void testResta() {
int resultado = this.suma.resta();
assertTrue(resultado == -2);
}
Que muestra que la clase Suma ha pasado el caso de prueba de sumar y restar
los números 3 y 5. !
Se anota el resultado exitoso de la prueba en la hoja de casos de pruebas.
Al observar el código, deducimos que tiene dos métodos que permiten sumar
y multiplicar un conjunto de números, pero quizás no están bien
desarrollados.
Creamos su JUnit Test correspondiente que podría ser:
public class CalculadoraTest {
public Calculadora calc;
@Before
public void setUp() throws Exception {
calc = new Calculadora();
}
@Test
public void testSuma() {
assertEquals("Error en suma", 60, calc.suma(10, 20, 30));
1.10. Fail
Prueba el siguiente JUnit Test para la clase Multiplicación para comprobar que
hace el método fail de la clase Assert:
public class MultiplicacionTest {
@Before
public void setUp() throws Exception {
System.out.println("Hola!");
}
@Test
public void testMultiplicar() {
fail("Sin hacer");
}
}
Añádele la anotación
@Ignore("No quiero que haga el siguiente test")
delante de la anotación @Test
@RunWith(Suite.class)
@SuiteClasses({ CalculadoraTest.class, MiClaseTest.class,
MiClaseTestConParametros.class, MultiplicacionTest.class,
SumaTest.class })
public class AllTests {
Para poder añadir el JUnit Test que nos falta del otro paquete realizaremos
una clase “suite test” en la raíz de la carpeta tests. Para ejecutar todos los
tests conjuntamente, esta se llamará AllTestsDeTodosLosPaquetes.
El asistente solo nos crea:
@RunWith(Suite.class)
@SuiteClasses({})
public class AllTestsDeTodosLosPaquetes {
Ya tenemos nuestros tests preparados para ejecutar por lote. Vamos ahora a
pulsar botón derecho en AllTestsDeTodosLosPaquetes y seleccionar Run as
JUnit Test. Automáticamente el Eclipse lanzará todos los tests que tenemos
programados y nos aparecerá un resultado parecido a esto:
¿Qué otra manera se te ocurre que podríamos haber utilizado para incluir el
test que nos faltaba?
2. JUnit en NetBeans
Utilizar JUnit en NetBeans también es muy sencillo