Хэй хо! Все мы любим (я надеюсь), писать юнит-тесты. Ну и конечно же - потешить свое самолюбие, глянув на отчет 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. На самом деле в статье взят самый простой пример, и оборачивание всех сервисов фреймворка в отдельный слой своих классов - на мой взгляд - оверхед. Но в некоторых местах это действительно нужно сделать так (ну или похоже), как описано в статье
Хабр
Не мокайте то, чем вы не владеете
Прим. переводчика: само правило достаточно старое, да и пример, приведенный в статье - на мой взгляд самый простой. Поэтому статья подойдет скорее для новичков,...