Описание тега unit-testing
Из Википедии:
Модульное тестирование - это метод, с помощью которого тестируются отдельные единицы исходного кода, чтобы определить, подходят ли они для использования. Интуитивно можно рассматривать единицу как самую маленькую тестируемую часть приложения. В процедурном программировании единицей может быть целый модуль, но чаще это отдельная функция или процедура. В объектно-ориентированном программировании единицей часто является целый интерфейс, например класс, но может быть и отдельный метод. Модульные тесты создаются программистами или, иногда, тестировщиками в процессе разработки.
В идеале каждый тестовый пример независим от других: для помощи в изолированном тестировании модуля можно использовать такие заменители, как заглушки методов, фиктивные объекты, подделки и тестовые программы. Например, эти заменители, также известные как Test Doubles, могут использоваться для изоляции таких зависимостей, как базы данных и файловая система.
Модульные тесты обычно пишутся и запускаются разработчиками программного обеспечения, чтобы убедиться, что код соответствует своему дизайну и ведет себя так, как задумано. Википедия.
Модульное тестирование тесно связано с разработкой через тестирование.
Преимущества
Цель модульного тестирования - изолировать каждую часть программы и показать правильность отдельных частей. Модульный тест предоставляет строгий письменный контракт, которому должен удовлетворять фрагмент кода. В результате он дает несколько преимуществ.
- Рано обнаруживает проблемы
- Способствует изменениям
- Упрощает интеграцию
- Документация
- дизайн
Книги
Есть много книг о модульном тестировании в целом и о конкретных фреймворках для конкретных языков, некоторые примеры:
- Фреймворки модульного тестирования - 2004
- Искусство модульного тестирования с примерами в.NET - 2009
- Прагматическое модульное тестирование на Java с JUnit - 2010
- Unittest на Python - 2010
- Тестирование Python с unittest, носом, pytest - 2014
- Приступаем к модульному тесту: не так сложно, как вы думаете - 2014
внешняя ссылка