¿Debo inicializar los campos de clase en una declaración como esta?
public class SomeTest extends TestCase
{
private final List list = new ArrayList();
public void testPopulateList()
{
// Add stuff to the list
// Assert the list contains what I expect
}
}
¿O en setUp () así?
public class SomeTest extends TestCase
{
private List list;
@Override
protected void setUp() throws Exception
{
super.setUp();
this.list = new ArrayList();
}
public void testPopulateList()
{
// Add stuff to the list
// Assert the list contains what I expect
}
}
Tiendo a usar el primer formulario porque es más conciso y me permite usar campos finales. Si no necesito utilizar el método setUp () para la configuración, ¿debería seguir utilizándolo y por qué?
Aclaración:
JUnit creará una instancia de la clase de prueba una vez por método de prueba. Eso significa list
que se creará una vez por prueba, independientemente de dónde lo declare. También significa que no hay dependencias temporales entre las pruebas. Por tanto, parece que no hay ventajas en utilizar setUp (). Sin embargo, las preguntas frecuentes de JUnit tienen muchos ejemplos que inicializan una colección vacía en setUp (), así que supongo que debe haber una razón.