7
votes

Configuration, initialisation des tests Junit

J'essaie de tester mes 3 classes qui trie les matrices de chaîne de différentes manières!

Je sais qu'il existe une méthode initialisée d'un tableau, puis les utilise dans tous mes tests. P>

Jusqu'à présent, c'est mon code: p>

public class SortingTest {

    public insertionSort is = new insertionSort();
    public bubbleSort bs = new bubbleSort();
    @Test
    public void testBubbleSort() {
        String [] sortedArray ={"Chesstitans", "Ludo", "Monkey", "Palle"};
        bs.sort(sortedArray);
        assertArrayEquals(sortedArray, x);
    }
    @Test
    public void testInsertionSort() {


    }
    @Test
    public void testMergeSort() {


    }
    @Test
    public void testSelectionSort() {


    }
    @Before
    protected void setUp() throws Exception{
        String[]x ={"Ludo", "Chesstitans", "Palle", "Monkey"};
    }
}


0 commentaires

3 Réponses :


13
votes

Vous devez faire x une variable de membre de la classe tritingtest xxx


3 commentaires

J'ai donc besoin de l'initialiser comme une variable publique? Cela ne ruine pas tout le point de la méthode initiale?


Si je le fais comme ça et ça trie le tableau X première fois. Il n'y a pas tous mes autres tests être inutiles car le tableau est déjà trié?


1 correction de votre code mais sinon c'était parfait! : D x = nouvelle chaîne [] {"Ludo", "Chesstitans", "Palle", "Monkey"};



2
votes

Configuration doit initialiser un membre champ afin que d'autres méthodes y aient accès. Si vous initialisez une variable locale, il sera perdu lorsque vous quittez la variable de configuration.

Dans ce cas, la bonne chose aurait deux membres:

  • OriginalAry
  • SORTEDARRAY

    Dans chaque méthode de test, vous pouvez trier l'original et comparer le résultat contre votre déjà sortiparray.


3 commentaires

C'est exactement ce que je veux mais que je dois le faire dans chaque méthode de tri individuelle? Il n'y a-t-il aucun moyen de l'initialiser à chaque fois qu'il utilise une nouvelle méthode?


Si je ne me souviens pas mal, c'est comme ça. La configuration est appelée avant chaque exécution de la méthode (même je ne sais pas si l'objet de test est créé à nouveau avec chaque méthode de test). Alors les initialisez-les dans la configuration et utilisez-les librement.


En fait, @MunyengM a raison, vous pouvez attribuer les valeurs directement sur la déclaration de membre sans avoir besoin d'une méthode de configuration.



0
votes

Vous devez faire x membre d'une classe, de sorte qu'il est visible dans toutes les méthodes.


0 commentaires