web-dev-qa-db-fra.com

Que sont JUnit @Before et @Test

À quoi sert un Junit @Before et @Test annotations en java? Comment puis-je les utiliser avec des netbeans?

23
shiva

Pouvez-vous être plus précis? Avez-vous besoin de comprendre ce que sont @Before et @Test annotation?

@Test annotation est une annotation (depuis JUnit 4) qui indique que la méthode attachée est un test unitaire. Cela vous permet d'utiliser n'importe quel nom de méthode pour effectuer un test. Par exemple:

@Test
public void doSomeTestOnAMethod() {
  // Your test goes here.
  ...
}

Le @Before l'annotation indique que la méthode jointe sera exécutée avant tout test de la classe. Il est principalement utilisé pour configurer certains objets nécessaires à vos tests:

(modifié pour ajouter des importations):

import static org.junit.Assert.*; // Allows you to use directly assert methods, such as assertTrue(...), assertNull(...)

import org.junit.Test; // for @Test
import org.junit.Before; // for @Before

public class MyTest {

    private AnyObject anyObject;

    @Before
    public void initObjects() {
        anyObject = new AnyObject();
    }

    @Test
    public void aTestUsingAnyObject() {
        // Here, anyObject is not null...
        assertNotNull(anyObject);
        ...
    }

}
55
Romain Linsolas
  1. Si je vous ai bien compris, vous voulez savoir ce que signifie l'annotation @Before . L'annotation marque une méthode devant être exécutée avant chaque test soit exécuté. Là, vous pouvez implémenter l'ancienne procédure setup().

  2. L'annotation @Test marque la méthode suivante comme test JUnit. Le testrunner identifiera chaque méthode annotée avec @Test Et l'exécutera. Exemple:

    import org.junit.*;
    
    public class IntroductionTests {
        @Test
        public void testSum() {
          Assert.assertEquals(8, 6 + 2);
        }
    }
    
  3. How can i use it with Netbeans? Dans Netbeans, un testrunner pour les tests JUnit est inclus. Vous pouvez le choisir dans votre boîte de dialogue d'exécution.

22
guerda