В этой статье речь пойдет про автоматическое тестирование в CMS Magento 2. Использовалась Magento 2.2
Общеизвесно, что magento достаточно сложная система сама по себе. Она требовательна к ресурсам. Разрабатывать под нее сложно и долго. В целом, у меня сложилось очень неоднозначное впечатление от ее использования.
Если мы делаем крупный проект на Magento с большим количеством самописных модулей, то, наверняка, в какой-то момент захочется писать автотесты.
В предыдущей статье мы насторили окружение для тестов. В этой статье попробуем писать сами тесты.
У нас есть модуль. Пусть это будет личный кабинет. Но в отличии от стандартного модуля magento, это будет rest api. К нему можно будет подключить свой frontend.
Тесты будут лежать в папке Tests Здесь будут Unit тесты, Интеграционные тесты, вспомагательный код и фикстуры.
Всем привет! Сегодня хотел бы поделиться опытом создания простейшего сервиса денежных транзакций. Сразу скажу, что сервис не предназначен для использования в production. Похожий сервис я реализовывал в качестве тестового задания. Само задание выглядело так:
Всем привет! Сегодня хотел бы рассказать о настройке анализа покрытия кода тестами для PHP(Symfony) проекта. И последующую интеграцию с Github Actions.
Анализ покрытия тестами нужен в первую очередь для определения того, насколько качественно написаны тесты и насколько они реально тестируют код. Подробнее об анализе покрытия кода.
Изначально настраивал для этого блога. Но затем, для большей наглядности, также настроил для одного из открытых проектов - placeholder-service.
Всем привет! Сегодня хотел бы рассказать о создании простого сервиса для управления feature-флагами. Feature-флаги позволяют мгновенно включать и выключать определенный функционал в приложении. Для этого не требуется заново выкладывать или откатывать его. Достаточно включить или выключить определенный флаг. В то же время, в ключевых местах в коде добавляются проверки флагов.
К примеру, нужно добавить на сайт форму обратной связи. И в то же время нужно иметь возможность быстро откатить изменения.
Для этого можно создать feature-флаг contact-form
и проверять его при выводе формы и обработчика.
Всем привет. Сегодня хотел бы поделиться способом организации фикстур в Symfony приложении с помощью Codeception Doctrine2 модуля.
Фикстуры используются для генерации тестовых данных. Чаще всего, для тестовые данные бывают нужны для интеграционных тестов. В Symfony фикстуры реализованы в рамках DoctrineFixturesBundle.
Всем привет! Сегодня хотел бы рассказать о своем опыте оптимизации анализа покрытия теставми для PHP проекта.
Проект основан на Symfony компонентах и частично покрыт unit и интеграционными тестами. В какой-то момент захотелось узнать точное покрытие, и в дальнейшем мониторить состояние.