Модульный тест для метода, который преобразует строку в тип даты - PullRequest
0 голосов
/ 24 ноября 2018

Я довольно новичок в кодировании и модульных тестах.Я пишу модульный тест для метода, преобразующего строку в дату.

Что я утверждаю для положительного теста

он выглядит как ниже

String s1 = "11/11/2018"; Date returnedValue = Class.ConvertToDate(s1); assert(????);

1 Ответ

0 голосов
/ 29 ноября 2018

Я не уверен, какие методы предоставляет класс Date в вашем фрагменте кода, поэтому я предполагаю, что он имеет следующие методы: getDayNrInMonth, который возвращает день в виде значения типа int, начиная с 1, getMonthNrInYear который возвращает месяц как int, начиная с 1, и getYearNr, который возвращает год как значение int (давайте просто проигнорируем, что существуют разные календарные системы, и это все для григорианского календаря).

Важный вопрос, на который вам нужно ответить в первую очередь, заключается в том, какова будет цель теста.Есть несколько возможных целей, которые вы можете проверить - это означает, что вам, вероятно, следует написать несколько тестов.Предположим, вы хотите проверить, правильно ли преобразована часть года.Тогда утверждение может выглядеть следующим образом:

assert(returnedValue.getYearNr() == 2018);

Скорее всего, однако, ваш тестовый фреймворк предоставит вам что-то лучше, возможно, функцию assertEquals, которую вы могли бы затем использовать следующим образом:

assertEquals(returnedValue.getYearNr(), 2018);

Если вы хотите проверить правильность преобразования месяца, вы сразу поймете, что выбранный вами тестовый пример не идеален:

assertEquals(returnedValue.getMonthNrInYear(), 11);

Как и в вашем примередень и месяц по 11, этот тест не будет очень надежным.Поэтому, чтобы проверить правильность преобразования дня и месяца, следует выбрать входные строки, которые будут иметь различимые значения для этих двух.

Пока вы приступите к обучению программированию и тестированию, вы обнаружите, чтоЕсть много других аспектов, которые могут быть рассмотрены.Ссылки в комментариях могут помочь вам.Однако, надеюсь, что приведенные выше пункты помогут вам в следующих шагах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...