Стоит ли писать модульные тесты для кода, который тестирует поведение приложения? - PullRequest
0 голосов
/ 24 сентября 2019

Мне интересно, стоит ли вам писать модульные тесты для кода, который является частью основного приложения и может вызываться заказчиком, даже если код отвечает только за стресс-тестирование части приложения.

На самом деле, я должен объяснить, почему я спрашиваю: раньше у меня было мнение, что весь производственный код должен иметь модульные тесты независимо от того, что делает код.Но теперь у меня есть два человека, которые говорят мне не писать модульные тесты для такого кода, и один из них - это человек, который учит других о TDD и модульном тестировании и которых я очень уважаю.Его объяснение было следующим: «Цель модульных тестов - проверить правильные методы проектирования, предоставить внутреннюю документацию для понимания требований и проектных решений и служить постоянным доказательством функциональной правильности блоков кода (не обязательно функциональной правильности всегодоставка).Это не имело ничего общего со стресс-тестами, которые нацелены только на создание артефакта доказательства производительности или надежности. '

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

1 Ответ

0 голосов
/ 24 сентября 2019

Вы единица проверить все единицы в пределах вашей базы производственного кода.

Неважно, что делает каждый юнит в конце.Если для предоставления какой-либо функциональности, являющейся частью вашего продукта, требуется устройство , то лучше проверить это устройство .

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

В качестве альтернативы, посмотрите на это с точки зрения клиента: что, если он захочет провести несколько стресс-тестов, например, чтобы измерить, как работает его установка.И тогда эти тесты ломаются.Поскольку вы не тестировали эту функцию, хотя она доступна для клиента ?!Подумайте об этом: что бы вы сказали своим клиентам, когда они используют что-то, что «официально существует» в продукте, и каким-то образом документировано ... но тогда не работает?

Если вообще, вы могли быможет быть, уйдет, заявив, что «у нас есть функция стресс-теста, но она официально не поддерживается», но это просто не очень хорошо для ваших рекламных листовок.И снова: тестирование заранее - это ключевой момент.Нет ничего хуже, чем , нуждающемуся в использовании функции X, чтобы понять, что "упс, функция X в настоящее время не работает".

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