Нет, так как вы реализовали метод output()
, вы мало что можете сделать, чтобы проверить его логику.Если вы вместо того, чтобы печатать материал в System.out
, добавите его в некоторый список и вернете этот список, вы можете проверить содержимое этого списка, чтобы убедиться, что они соответствуют вашим ожиданиям.
Код клиента (т.е.код, использующий этот метод), затем становится ответственным за печать до System.out
, в то время как тест использует код для генерации некоторых данных для проверки.
Вместо
public static char[] output() {
// get input from somewhere
// print to System.out
}
вы, вероятно, хотитесделать что-то вроде
public static void reorder(char[] input) {
char[] output = new char[input.lenght()];
// reorder the input and put it in output
return output;
}
Затем вы можете проверить это, выполнив
assertEquals("c,b,a".toCharArray(), m.reorder("a,b,c".toCharArray());
Очевидно, вам также придется изменить использование вашей функции, чтобы соответствовать новой сигнатуре.