Вы сталкивались когда-нибудь с ситуацией, когда для того, чтобы покрыть unit-тестом какой-то метод вы идёте и мокаете 100500 зависимостей, создавая такую кашу, что, кажется, уже и сам тест будет работать совсем не так как на проде?
Тут интересный материальчик по этому поводу
#unittest #unit #autotests #php
https://telegra.ph/Esli-vy-ispolzuete-moki-to-vy-hot-chto-to-testiruete-07-06
Тут интересный материальчик по этому поводу
#unittest #unit #autotests #php
https://telegra.ph/Esli-vy-ispolzuete-moki-to-vy-hot-chto-to-testiruete-07-06
Telegraph
Если вы используете моки, то вы хоть что-то тестируете?
Было ли у вас ощущение, что ради тестирования вы делаете код труднее для чтения? Допустим, у вас есть код, который ещё не тестировался. У него есть ряд побочных эффектов, и вас просят сначала прогнать тесты. Вы начинаете следовать советам вроде передачи глобальных…
Всем привет!
Мы много уже говорили о том, как писать тесты, и в целом даже рассматривали, какие тесты лучше писать больше а какие меньше.
Сегодня же хочу показать вам статейку о том, как лучше вообще не делать. Об антипаттернах тестирования. В этой статье рассмотрим первые 4.
#антипаттерны #автотесты #unit #unittest #integrationtest #antipattern
https://telegra.ph/Antipatterny-testirovaniya-PO-CHast-1-07-13
Мы много уже говорили о том, как писать тесты, и в целом даже рассматривали, какие тесты лучше писать больше а какие меньше.
Сегодня же хочу показать вам статейку о том, как лучше вообще не делать. Об антипаттернах тестирования. В этой статье рассмотрим первые 4.
#антипаттерны #автотесты #unit #unittest #integrationtest #antipattern
https://telegra.ph/Antipatterny-testirovaniya-PO-CHast-1-07-13
Telegraph
Антипаттерны тестирования ПО. Часть 1
Введение Есть несколько статей об антипаттернах разработки ПО. Но большинство из них говорят о деталях на уровне кода и фокусируются на конкретной технологии или языке программирования. В этой статье я хочу сделать шаг назад и перечислить высокоуровневые…
Вторая часть статьи про антипаттерны тестирования:
#антипаттерны #автотесты #unit #unittest #integrationtest #antipattern
https://telegra.ph/Antipatterny-testirovaniya-PO-CHast-2-07-15
#антипаттерны #автотесты #unit #unittest #integrationtest #antipattern
https://telegra.ph/Antipatterny-testirovaniya-PO-CHast-2-07-15
Telegraph
Антипаттерны тестирования ПО. Часть 2
Это часть 2. Часть 1 читать тут https://telegra.ph/Antipatterny-testirovaniya-PO-CHast-1-07-13 Антипаттерн 5. Тестирование внутренней реализации Больше тестов — всегда хорошо. Верно? Неверно! Ещё нужно убедиться, что тесты на самом деле правильно структурированы.…
Третья (и последняя) часть про антипаттерны автотестов
#антипаттерны #автотесты #unit #unittest #integrationtest #antipattern
https://telegra.ph/Antipatterny-testirovaniya-PO-CHast-3-07-27
#антипаттерны #автотесты #unit #unittest #integrationtest #antipattern
https://telegra.ph/Antipatterny-testirovaniya-PO-CHast-3-07-27
Telegraph
Антипаттерны тестирования ПО. Часть 3
Это часть 3. Часть 1 читать тут https://telegra.ph/Antipatterny-testirovaniya-PO-CHast-1-07-13 Часть 2 читать тут https://telegra.ph/Antipatterny-testirovaniya-PO-CHast-2-07-15 Антипаттерн 10. Отказ писать тесты для новых багов из продакшна Одна из задач…
Хэй хо! Все мы любим (я надеюсь), писать юнит-тесты. Ну и конечно же - потешить свое самолюбие, глянув на отчет code-coverage, когда там >50% кода покрыто тестами. Но так ли точна эта цифра? Давайте разберемся, как работают замеры и какие есть подводные камни.
#phpunit #unittest #codecoverage
https://telegra.ph/Uluchsheniya-pokrytiya-PHP-koda-v-2020-godu-09-18
#phpunit #unittest #codecoverage
https://telegra.ph/Uluchsheniya-pokrytiya-PHP-koda-v-2020-godu-09-18
Telegraph
Улучшения покрытия PHP кода в 2020 году
А вы знали что метрики покрытия вашего кода врут? В 2003 году Дерик Ретанс (Derick Rethans) выпустил Xdebug 1.2. Впервые в экосистеме PHP появилась возможность собирать данные о покрытии кода. В 2004 году Себастьян Бергманн выпустил PHPUnit 2, где впервые…
Не мокайте то, чем вы не владеете! Моканье классов третьесторонних библиотек - довольно скользкая дорожка.
Перевел статейку авторов PHPUnit. Перевод на хабре https://habr.com/ru/post/554318/, оригинал тут https://thephp.cc/news/2021/04/do-not-mock-what-you-do-not-own
#тестирование #phpunit #unittest
P.S. На самом деле в статье взят самый простой пример, и оборачивание всех сервисов фреймворка в отдельный слой своих классов - на мой взгляд - оверхед. Но в некоторых местах это действительно нужно сделать так (ну или похоже), как описано в статье
Перевел статейку авторов PHPUnit. Перевод на хабре https://habr.com/ru/post/554318/, оригинал тут https://thephp.cc/news/2021/04/do-not-mock-what-you-do-not-own
#тестирование #phpunit #unittest
P.S. На самом деле в статье взят самый простой пример, и оборачивание всех сервисов фреймворка в отдельный слой своих классов - на мой взгляд - оверхед. Но в некоторых местах это действительно нужно сделать так (ну или похоже), как описано в статье
Хабр
Не мокайте то, чем вы не владеете
Прим. переводчика: само правило достаточно старое, да и пример, приведенный в статье - на мой взгляд самый простой. Поэтому статья подойдет скорее для новичков,...