Блог

Чтиво: Unit Testing: Principles, Practices and Patterns

Статьи
В начале автор душно описывает фундамент: что такое Unit Тест, Code Coverage, Пирамида тестирования и прочие основы. Но за знакомыми терминами кроется ворох заблуждений, которые искажают смысл до противоположного. Автор собрал такие заблуждения и объяснил кто и где не прав. Например, Code Coverage не показывает, где ваш код покрыт тестами, а Моки не библиотека, а целое направление «заместителей».

Книга затрагивает деликатную тему: войну Лондонской и Классической школ тестирования. Автор по полочкам разбирает их общность и различие, в итоге убеждаясь, что коренное различие — не подходы к тестированию, а определение Unit’а. Для лондонцев — это класс, а для ортодоксов — бизнес-сценарий.

Главная ценность книги — переосмысление автором цель юнит-тестов. Владимир выделяет 4 атрибута качественных юнит-тестов:

  • защита об багов,
  • устойчивость к рефакторингу,
  • быстрая обратная связь,
  • простота поддержки.

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

В книге представлено огромное количество практических советов по юнит-тестам: от правильного именования и использования моков — двойников, до написания сложных e2e-тестов.

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