Блог - Тестирование

Автотесты в Magento 2, часть 1

В этой статье речь пойдет про автоматическое тестирование в CMS Magento 2. Использовалась Magento 2.2

Общеизвесно, что magento достаточно сложная система сама по себе. Она требовательна к ресурсам. Разрабатывать под нее сложно и долго. В целом, у меня сложилось очень неоднозначное впечатление от ее использования.

Если мы делаем крупный проект на Magento с большим количеством самописных модулей, то, наверняка, в какой-то момент захочется писать автотесты.

Автотесты в Magento 2, часть 2

В предыдущей статье мы насторили окружение для тестов. В этой статье попробуем писать сами тесты.

У нас есть модуль. Пусть это будет личный кабинет. Но в отличии от стандартного модуля magento, это будет rest api. К нему можно будет подключить свой frontend.

Тесты будут лежать в папке Tests Здесь будут Unit тесты, Интеграционные тесты, вспомагательный код и фикстуры.

Elastic Search - тестирование релевантности

Всем привет! Сегодня поговорим об отладке и тестировании поиска на базе Elastic Search. Конкретно, о тестировании релевантности. Из коробки Elastic работает неплохо. Но, вероятно, может понадобится донастроить релевантность поиска. Например, установить вес различных полей в поиске. Также могут быть другие факторы, влияющие на релевантность. Подробнее про настройку и о том как все устроено можно почитать тут: https://codedzen.ru/elasticsearch-urok-6-4-relevantnost/

При этом важно понимать, что изменения настроек влияют на весь поиск. К примеру, нам не нравится результаты поиска по запросу "Fiat 500", но при этом устраивают результаты по запросам "Renault Logan", "Nissan Micra" и т.д. Если мы поменяем настройки и подгоним результаты под запрос "Fiat 500", то не факт, что все остальное будет работать нормально.

Анализ покрытия кода тестами для PHP проекта

Всем привет! Сегодня хотел бы рассказать о настройке анализа покрытия кода тестами для PHP(Symfony) проекта. И последующую интеграцию с Github Actions.

Анализ покрытия тестами нужен в первую очередь для определения того, насколько качественно написаны тесты и насколько они реально тестируют код. Подробнее об анализе покрытия кода.

Изначально настраивал для этого блога. Но затем, для большей наглядности, также настроил для одного из открытых проектов - placeholder-service.

Фикстуры в Symfony + Codeception DataFactory

Всем привет. Сегодня хотел бы поделиться способом организации фикстур в Symfony приложении с помощью Codeception Doctrine2 модуля.

Фикстуры используются для генерации тестовых данных. Чаще всего, для тестовые данные бывают нужны для интеграционных тестов. В Symfony фикстуры реализованы в рамках DoctrineFixturesBundle.

Производительность покрытия тестами PHP проекта

Всем привет! Сегодня хотел бы рассказать о своем опыте оптимизации анализа покрытия теставми для PHP проекта.

Проект основан на Symfony компонентах и частично покрыт unit и интеграционными тестами. В какой-то момент захотелось узнать точное покрытие, и в дальнейшем мониторить состояние.

Анализ покрытия тестами с помощью Codecov

Всем привет! Сегодня хотел бы рассказать об использовании сервиса Codecov. А также интеграции с Github Actions. Сервис предназначен для отслеживания покрытия кода тестами.