Статьи

Юнит Тест Безумие

Вы повторяете свои юнит-тесты, чтобы ожидать другого результата?

Перемещая нашу дочь в ее новую квартиру, которая находится на 9-м этаже арендного комплекса, я заметил интересную ситуацию, ожидая прибытия лифта. Когда другие подходили, чтобы ждать лифта, они нажимали кнопку с универсальным символом «стрелка вверх» — даже если мы уже нажали кнопку, чтобы запросить обслуживание лифта.  

Я начал задаваться вопросом о мыслительном процессе в игре здесь. Чувствовал ли человек, что лифт прибудет быстрее, если снова нажать кнопку вверх? Ожидался ли другой результат?


Вам также может понравиться:
7 советов по написанию лучших модульных тестов на Java

Верьте или нет, это напомнило мне о чем-то, что я называю «безумием юнит-теста».

Юнит Тест Безумие

С тех пор как я увидел ценность в написании своего первого модульного теста несколько десятилетий назад, я всегда выступал за включение охвата модульных тестов для проверки функциональности тестируемой системы (SUT). Тем не менее, как и почти все в информационных технологиях, есть возможность перестроиться до такой степени, что ценность таких улучшений приближается к нулю.

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

Insanity.

Пример

В моей статье « Избегать перезагрузки контекста приложения в модульных тестах » в зоне микросервисов я привел следующий пример реализации класса обслуживания:


Джава