Dois-je initialiser les champs de classe lors de la déclaration comme ceci?
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
}
}
Ou dans setUp () comme ça?
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
}
}
J'ai tendance à utiliser le premier formulaire car il est plus concis et me permet d'utiliser les champs finaux. Si je n'ai pas besoin d'utiliser la méthode setUp () pour la configuration, dois-je quand même l'utiliser et pourquoi?
Clarification:
JUnit instanciera la classe de test une fois par méthode de test. Cela signifie que list
sera créé une fois par test, quel que soit l'endroit où je le déclare. Cela signifie également qu'il n'y a pas de dépendances temporelles entre les tests. Il semble donc qu'il n'y ait aucun avantage à utiliser setUp (). Cependant, la FAQ JUnit a de nombreux exemples qui initialisent une collection vide dans setUp (), donc je pense qu'il doit y avoir une raison.