Комментарии 3
Наилучшая сопротивляемость рефакторингу.
Достоинство по Фрейду. :)
Вроде бы статья классная, но человеку, который с unit тестами сталкивается редко многое осталось непонятно. Например, в разделе "Моки и заглушки" есть 2 примера кода: хорошо и плохо. Но непонятно почему этот пример - "хорошо", а другой пример - "плохо"
Привет, спасибо за статью. Есть несколько вопросов и замечаний:
- в самом начале раздел “Заглушки (Stub)” кажется лишний, его содержимое появляется чуть позже под заголовком “Заглушка (Stub)”
- По поводу «Мать объекта», первый раз сталкиваюсь с таким термином, это нечто распространённое? По быстрому не загуглилось. Просто по-моему назвать это «Фабрикой», как-то понятней, привычней. Да и в вашем примере, выглядит так, что удобнее использовать шаблон «Builder».
- “[TODO]” в под заголовком “Зависимости”, кажется потрачен текст :)
-
Не пишите код 1:1: один класс — один тест. Это приводит к хрупким тестам, что затрудняет рефакторинг.
Хотелось бы услышишь аргументы по поводу этого утверждения. На мой взгляд, юнит тестирование подразумевает тестирование одного конкретного класса. Все его зависимости при этом мокаются, чтобы их поведения не сказывалось на данном классе. Как профит — нам проще вычленить конкретные краевые условия для него и обработать их все. В интеграционных тестах такое сделать может быть крайне трудно из-за большого количества сочетаний.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Юнит-тестирование на PHP в примерах