phpunit
-
Хабрахабр
Как мы планировали повысить версию PHP за месяц, а потратили на это год
Как и множество больших сервисов, Яндекс Еда основана на микросервисной архитектуре. Все сервисы написаны на C++ с использованием фреймворка userver. Также мы активно развиваем внутренний фреймворк для сервисов на Golang. При этом стараемся использовать последние версии и стандарты языков. В общей сложности у нас чуть больше 200 микросервисов. Но есть один сервис, который совсем не микро. Это легаси-монолит, доставшийся Яндекс Еде после объединения…
Читать далее » -
Хабрахабр
Тестирование PHP проектов на примере Symfony
Хочу описать свои наработки и устоявшиеся подходы к тестированию PHP проектов. Последние годы я работаю с Symfony и здесь будет достаточно моментов специфичных для этого фреймворка. Так же в этой статье термин функциональные тесты (functional) является синонимом End-to-End тестов. Статья рассчитана на разработчиков уже знакомых с PHPUnit и Symfony, структурой composer файла. Врочем, здесь есть и общеизвестные моменты, чтобы облегчить…
Читать далее » -
Хабрахабр
Организация PHP-тестов с большими массивами данных
При написании тестов мы сравниваем данные, возвращаемые тестируемой функцией, с их ожидаемыми значениями. Действительные значения мы получаем из результата вызова функции, а ожидаемые значение традиционно указываем в коде теста. Зачастую ожидаемое значение является массивом, а иногда очень большим массивом. Кроме того, тестируемая функция может требовать большой массив данных в качестве входного параметра. И все эти большие массивы должны так или…
Читать далее » -
Дайджест
PHP Дайджест № 212 (13 – 27 сентября 2021)
Подборка свежих новостей и материалов из мира PHP. Вышел PHP 8. 1 RC2 и уже доступен первый пакет с использованием перечислений, будет сделан форк Magento, новый тип стандартов PER в дополнение к PSR, стартовала PhpStorm 2021. 3 EAP, Symfony 6 будет полностью типизирован — как обновляться? Для PHP 8. 2 предложены новые оптимизированные структуры данных. Также в выпуске порция инструментов,…
Читать далее » -
Хабрахабр
Работа с частичными моками в PHPUnit 10
В этом году должен выйти PHPUnit 10 (релиз планировался на 2 апреля 2021 года, но был отложен). Если посмотреть на список изменений, то бросается в глаза большое количество удалений устаревшего кода. Одним из таких изменений является удаление метода MockBuilder::setMethods(), который активно использовался при работе с частичными моками. Этот метод не рекомендуется использовать с версии 8. 0, но тем не менее…
Читать далее » -
Хабрахабр
Практики при работе с PHPUnit
Не секрет, что чем больше проект, тем с большим количеством проблем он сталкивается даже в самых элементарных аспектах. В продукте Plesk, над которым я работаю, PHP является одним из основных языков, и количество кода на нем превышает 1 миллион строк. Соответственно, мы активно используем PHPUnit для тестирования. Кроме большого объема кода, поддержка двух платформ (Linux и Windows) доставляет нюансы, как…
Читать далее » -
Хабрахабр
[Перевод] Улучшения покрытия PHP кода в 2020 году
А вы знали что метрики покрытия вашего кода врут? В 2003 году Дерик Ретанс (Derick Rethans) выпустил Xdebug 1. 2. Впервые в экосистеме PHP появилась возможность собирать данные о покрытии кода. В 2004 году Себастьян Бергманн выпустил PHPUnit 2, где впервые это использовал. У разработчиков появилась возможность оценивать эффективность своих наборов тестов, используя отчеты о покрытии. С тех пор функциональность…
Читать далее » -
Хабрахабр
Беги, PHPUnit, беги: как я оптимизировал время выполнения тестов
С самого начала работы над одним из web-проектов мы стремились к высокому уровню покрытия кода тестами, и на начальном этапе разработки я не задумывался об оптимизациях скорости их выполнения. Как результат, с ростом проекта, всё большим покрытием его тестами и ростом команды время выполнения тестов выросло с нескольких секунд до десятков минут. А наличие быстрых тестов может быть также важно…
Читать далее » -
Хабрахабр
PhpStorm 2020.1: поддержка composer.json, инструменты для PHPUnit, покрытие кода с PCOV и PHPDBG, Grazie и другое
Привет, Хабр! Рады представить первый мажорный релиз PhpStorm в этом году! Под катом подробный разбор всех заметных изменений и новых возможностей. Осторожно — много картинок. Скачать PhpStorm 2020.1 можно на сайте или с помощью Toolbox App. Там же 30-дневная пробная версия. Все продукты JetBrains доступны бесплатно для студентов и разработчиков опенсорсных проектов. Поддержка composer.json Все действия по работе с зависимостями…
Читать далее » -
Дайджест
PHP-Дайджест № 173 (27 января – 10 февраля 2020)
Свежая подборка со ссылками на новости и материалы. В выпуске: PHPUnit 9 и другие релизы, 3 свежих RFC предложения из PHP Internals, порция полезных инструментов, видео, подкасты и многое другое. Приятного чтения! Новости и релизы PHP Internals [RFC] Allow function calls in constant expressions — Сейчас в объявлениях констант можно использовать только литералы, константы и операции. В этом RFC предполагается…
Читать далее »