Это те крайние случаи, о которых мне следует подумать при использовании модульного тестирования? - PullRequest
5 голосов
/ 18 января 2011

При написании модульных тестов обычно рекомендуется тестировать граничные случаи.

Однако, это правильные вещи?

  • Проверка соединения с БД не открыта (утверждают, что сгенерировано исключение)
  • Утверждение, что таблица, которая всегда должна иметь> 1 строку, делает это
  • Утверждают, что поле, которое является обязательным, равно! = Null.
  • Утверждение, что ip был установлен в правильном формате (я могу разобрать строку в IP).

Спасибо

1 Ответ

5 голосов
/ 18 января 2011

Ваши тесты кажутся нормальными, но фраза "крайний случай" обычно относится к тестам и проверкам, которые необходимо выполнить в пределах входных данных.

Скажем, у вас есть столбец в вашей базе данных, который может принять 50 символов. Ваши краевые тесты:

  • Сохранить строку из 49 символов - успех
  • Сохранение строки из 50 символов - успех (или, возможно, ошибка из-за нулевого символа завершения в зависимости от вашего языка)
  • Сохранить строку из 51 символа - ошибка

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

Другие тесты, в которых вы будете тестировать сохранение строки из 20 символов и сохранение строки (скажем, 100 символов), должны быть более стабильными.

...