Bonjour,

Voici le test suivant qui fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.