Recherche…


Introduction

Parfois, vous devez effectuer plusieurs tests, chaque fois avec des données différentes. Le paramétrage du test vous permet de le faire d’une manière simple et facile à gérer.

Syntaxe

  • @RunWith (Parameterized.class) // annotation pour la classe de test

    @ Paramètres // annotation pour les données

Remarques

Un des avantages de l'utilisation de paramètres est que si un ensemble de données échoue, l'exécution passera simplement à l'ensemble de données suivant au lieu d'arrêter tout le test.

Utiliser un constructeur

import static org.junit.Assert.assertThat;
import static org.hamcrest.CoreMatchers.is;
import java.util.*;
import org.junit.*;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

@RunWith(Parameterized.class)
public class SimpleParmeterizedTest {
    @Parameters
    public static Collection<Object[]> data(){
        return Arrays.asList(new Object[][]{
                {5, false}, {6, true}, {8, true}, {11, false}    
        });
    }
    
    private int input;
    private boolean expected;
    
    public SimpleParmeterizedTest(int input, boolean expected){
        this.input = input;
        this.expected = expected;
    }
    
    @Test
    public void testIsEven(){
        assertThat(isEven(input), is(expected));
    }
}

Dans data (), vous fournissez les données à utiliser dans les tests. Junit parcourra les données et exécutera le test avec chaque ensemble de données.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow