Почему вы используете 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");
}
}
Этот тест просто проходит.