Юнит: чего мне не хватает - PullRequest
0 голосов
/ 30 сентября 2018

Может кто-нибудь сказать мне, как работает JUnit и как я могу исправить этот код?Я уверен, что есть куча ошибок, которые я не могу найти.

Код метода:

   public static String findMinimumRecursive(String[] array, String 
currentMinString){// another bonus method
        if(array.length == 0)
            return currentMinString;
            return findMinimumRecursive(Arrays.copyOfRange(array, 1, 
array.length), 
((Integer)currentMinString.length()).compareTo(array[0].length()) < 0 ?  
currentMinString : array[0]); 

  }

Код toString:

public String toString()
{
    String result;
   result = " result : " + (findMinimumRecursive(stringArray));
   return recursiveCompare;
}

Код JUnit:

import org.junit.*;
import static org.junit.Assert.*;

public class recursiveCompareTester{

    private String [] tringArray = new String[4];

    @Before
    public void setUp() {
        stringArray[4] = {"delta","alpha","omega","zeta"}
    }

    @Test
    public void recursiveCompareTester() {
        assertEquals(findMinimumRecursive(stringArray).toString,zeta );
    }

}

1 Ответ

0 голосов
/ 30 сентября 2018

Почему вы используете toString метод, который здесь не нужен.Сначала удалите метод toString.Тогда тестируемый класс должен выглядеть следующим образом.

public class RecursiveCompare {
    public static String findMinimumRecursive(String[] array, String currentMinString) {// another bonus method
        if (array.length == 0)
            return currentMinString;
        return findMinimumRecursive(Arrays.copyOfRange(array, 1, array.length),
                ((Integer) currentMinString.length()).compareTo(array[0].length()) < 0 ? currentMinString : array[0]);

    }
}

Я видел некоторые проблемы с объявлением массива в вашем тестовом классе, и я их тоже исправил.Вот правильная версия класса теста.

import static org.junit.Assert.assertEquals;

import org.junit.Before;
import org.junit.Test;

public class RecursiveCompareTester {
    private String[] stringArray;

    @Before
    public void setUp() {
        stringArray = new String[] { "delta", "alpha", "omega", "zeta" };
    }

    @Test
    public void recursiveCompareTester() {
        assertEquals(RecursiveCompare.findMinimumRecursive(stringArray, "invalid"), "zeta");
    }
}

Этот тест просто проходит.

...