lunes, 5 de septiembre de 2011

JUnit 4

Junit 4 es un framework de test unitario basado en anotaciones. Nos permite realizar el mismo trabajo que JUnit 3 pero con anotaciones, proveyendo mayor flexibilidad y simplicidad a nuestro código.

JUnit provee elementos que nos facilitan probar entidades o clases de nuestro programa:

Permite cargar los test de forma transparente Provee anotaciones que facilitan el testing: @Before, @BeforeClass, @After, and @AfterClass Provee diferentes asserts Integración con IDEs (eclipse, netbeans) y herramientas como maven y ant.

Veamos un ejemplo de test con JUnit:
import static org.junit.Assert.*; 
import org.junit.Test; 
public class CalculatorTest { 
	@Test 
	public void testAdd() { 
		Calculator calculator = new Calculator(); 
		double result = calculator.add(10, 50); 
		assertEquals(60, result, 0); 
	} 
} 

En la primera linea se importan los métodos de la clase estática Assert, la cual cuenta con sin fin de asserts, que facilitan nuestros test. Con @Test indicamos que ese método es un Test. Además con el método assertEquals de la clase Assert verificamos si el resultado es igual a 60.

Test Case son casos de prueba, en JUnit 4 son los metodos que estan anotados con @Test

Test Suite son un conjunto de Test Case, JUnit 4 genera automáticamente un Test Suite cuando se corren todos los test de una clase. Veamos un ejemplo de Test Suite:
@RunWith(value=org.junit.runners.Suite.class) 
@SuiteClasses(value={FolderConfigurationTest.class, 
 	FileConfigurationTest.class}) 
	public class FileSystemConfigurationTestSuite { 
} 

Con @RunWith configuramos el Runner para correr los Test Suite. Runner es el motor que corre los test, JUnit proporciona uno por defecto que por medio de anotaciones se puede cambiar. Y con la anotación @SuiteClasses indicamos que clases correr.