Я не уверен, какие методы предоставляет класс Date
в вашем фрагменте кода, поэтому я предполагаю, что он имеет следующие методы: getDayNrInMonth
, который возвращает день в виде значения типа int, начиная с 1
, getMonthNrInYear
который возвращает месяц как int, начиная с 1
, и getYearNr
, который возвращает год как значение int (давайте просто проигнорируем, что существуют разные календарные системы, и это все для григорианского календаря).
Важный вопрос, на который вам нужно ответить в первую очередь, заключается в том, какова будет цель теста.Есть несколько возможных целей, которые вы можете проверить - это означает, что вам, вероятно, следует написать несколько тестов.Предположим, вы хотите проверить, правильно ли преобразована часть года.Тогда утверждение может выглядеть следующим образом:
assert(returnedValue.getYearNr() == 2018);
Скорее всего, однако, ваш тестовый фреймворк предоставит вам что-то лучше, возможно, функцию assertEquals
, которую вы могли бы затем использовать следующим образом:
assertEquals(returnedValue.getYearNr(), 2018);
Если вы хотите проверить правильность преобразования месяца, вы сразу поймете, что выбранный вами тестовый пример не идеален:
assertEquals(returnedValue.getMonthNrInYear(), 11);
Как и в вашем примередень и месяц по 11, этот тест не будет очень надежным.Поэтому, чтобы проверить правильность преобразования дня и месяца, следует выбрать входные строки, которые будут иметь различимые значения для этих двух.
Пока вы приступите к обучению программированию и тестированию, вы обнаружите, чтоЕсть много других аспектов, которые могут быть рассмотрены.Ссылки в комментариях могут помочь вам.Однако, надеюсь, что приведенные выше пункты помогут вам в следующих шагах.