Там - это - все еще точка в тестировании тривиальных процедур.Вы можете проверить, что
- он делегирует
Collections.shuffle
, если это требование подпрограммы - , это фактически перетасовывает
, что даст вам знать, чтопроцедура все еще поддерживает свой контракт, если вы захотите refactor
позже.
Вам нужно , чтобы проверить это?Нет. Это прагматично для проверки?Возможно нет.Но каждая гарантия помогает проверить правильность вашей программы.В конечном счете, решать вам.
РЕДАКТИРОВАТЬ Рекомендуется разрабатывать для тестирования.По сути, проще протестировать подпрограмму, которая не имеет побочных эффектов , т. Е.
подпрограмма, которая воздействует на свои входы, вычисляет значение и возвращает результат.
Теперь, когда Collections.shuffle
изменяет существующий список, возвращаемое значение может показаться неоднозначным.Давайте рассмотрим второй лучший вариант для тестируемости
public void shuffle(List<?> l) {
Collections.shuffle(l);
}
Является ли такой дизайн подходящим или нет в вашем деле, которое я оставляю вам на суд.Это было просто общее к сведению:)