Los tests unitarios son una forma de probar el correcto funcionamiento de un módulo o una parte del sistema.
Con el fin de asegurar el correcto funcionamiento de todos los módulos por separado y evitar así errores futuros en el momento de la integración de todas sus partes.
La idea es escribir casos de prueba para cada función no trivial o método en el módulo, de forma que cada caso sea independiente del resto.
JUnit es ya de por sí un framework que facilita en demasía el desarrollo de prueba unitarias, pero ahora la versión 4 simplifica más el desarrollo de éstas por medio de la explotación de las anotaciones otorgadas por Java 5, eliminando el desarrollo de pruebas basado en subclassing, reflection y convenciones de nombrado.
La intención de Kent Beck (creador de JUnit junto con Erich Gamma) con esta nueva versión, es animar a más desarrolladores a escribir más pruebas unitarias por medio de la simplificación de JUnit.
Con JUnit 4 para señalar un método de prueba lo anotaremos con @Test
. No será necesario heredar de la clase TestCase para hacer uso de los métodos assertXXX() y podremos hacer uso de ellos mediante la utilización de importaciones estáticas, característica proporcionada por Java 5.
1 public class PruebaAlgunaClase {
2 @Test
3 public void pruebaFuncionX() {
4 assertEquals(
5 "Error no corresponde al valor esperado",
6 "valor Esperado",
7 AlgunaClase.funcionX()
8 );
9 }
10 }
1 /**
2 * Template de un TestCase común para JUnit
3 * @author iuga
4 */
5 public class miPruebaJnit {
6
7 private AgunObjeto ob;
8
9 public miPruebaJnit() {
10 }
11 }
1 public class miPruebaJnit {
2 @BeforeClass
3 public static void setUpClass() throws Exception {
4 // Primer Método a Ejecutar cuando se
5 // lancen los Test
6 }
7
8 @Before
9 public void setUp() {
10 // Clase q se va a utilizar para setear los datos a
11 // todos los objetos que necesitemos, es el inicializador
12 // Tal cual el initComponents del NetBeans
13 }
14 }
1 public class miPruebaJnit {
2 @AfterClass
3 public static void tearDownClass() throws Exception {
4 // Método que se ejecuta cuando se terminan los test
5 // Es útil para cerrar bases de datos, archivos,
6 // Exploradores, Streams, etc.
7 }
8
9 @After
10 public void tearDown() {
11 // Último método que se ejecuta cuando se terminan los test
12 // Es útil para cerrar bases de datos, archivos,
13 // Exploradores, Streams, etc.
14 }
15 }
1 public class miPruebaJnit {
2 /**
3 * Prueba sobre el metodo guardar, de la clase miPruebaJnit.
4 * Todos los metodos que tengan la anotacion @Test seran
5 * ejecutados por JUnit no importa si no se llaman.
6 */
7 @Test
8 public void testGuardar() {
9 int id = 0;
10
11 // Pruebo los métodos que necesito
12
13 if(result==0) {
14 // Lanzo fail() cuando el Test falló a lo que yo
15 // esperaba, por ejemplo el dato de un algoritmo
16 // que es un resultado erroneo
17 fail("The test case is a prototype.");
18 }
19 }
20 }
Table of Contents | t |
---|---|
Exposé | ESC |
Full screen slides | e |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide slide context | c |
Notes | 2 |
Help | h |