Pointer null sur objet testé
Bonjour,
Voici le test suivant qui fonctionne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
package user;
import junit.framework.TestCase;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
public class UtilisateurTest extends TestCase
{
@Test public void testUtilisateur()
{
Utilisateur user = new Utilisateur(1, "toto");
assertEquals(user.getId().intValue() == 1, true);
}
} |
Voici le même test en utilisant @Before et @After :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
package user;
import junit.framework.TestCase;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
public class UtilisateurTest extends TestCase
{
public Utilisateur user;
@BeforeClass public void runBeforeEachTest()
{
user = new Utilisateur(1, "toto");
}
@Test public void testUtilisateur()
{
assertEquals(user.getId().intValue() == 1, true);
}
@AfterClass public void runAfterEachTest()
{
user = null;
}
/*public static junit.framework.Test suite()
{
return new JUnit4TestAdapter(UtilisateurTest.class);
}
*/
} |
Et bien l'exécution de celui-ci soulève l'exception :
Code:
1 2 3
|
java.lang.NullPointerException
at user.UtilisateurTest.testUtilisateur(UtilisateurTest.java:20) |
... comme si @BeforeClass et @AfterClass n'étaient pas exécutés.
Nota : @Before et @After génère le même soucis.
Pourquoi ? ;)
Merci. ;)