Download the PHP package webarchitect609/bitrix-taxidermist without Composer
On this page you can find all versions of the php package webarchitect609/bitrix-taxidermist. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download webarchitect609/bitrix-taxidermist
More information about webarchitect609/bitrix-taxidermist
Files in webarchitect609/bitrix-taxidermist
Package bitrix-taxidermist
Short Description Mocking of Bitrix classes for Unit-testing.
License BSD-3-Clause
Informations about the package bitrix-taxidermist
Битрикс таксидермист
Пожалуйста, будьте внимательны: это пока нестабильная альфа-версия!
Для разработки Unit-тестов библиотек, зависимых от Битрикс, требуется сам Битрикс. Однако его установка является долгим
процессом, который контролируется через визуальный интерфейс в браузере и очень сложно поддаётся автоматизации. Данная
библиотека предоставляет возможность автоматического создания имитаций(mocking) классов Битрикс без установки
последнего. Одновременно решается проблема Multiple definitions exist for class '%bitrixClassName%'
в IDE при
разработке.
Возможности
- Автоматическое создание mock-классов Битрикс для использование в Unit-тестах
Установка
composer require --dev webarchitect609/bitrix-taxidermist
Использование
Unit-тесты
При написании Unit-теста в переопределении метода \PHPUnit\Framework\TestCase::setUp()
или
\PHPUnit\Framework\TestCase::setUpBeforeClass()
следует запустить изготовление имитаций всех классов:
Будут автоматически созданы алиасы. Например,
, и таким образом Unit-тест может пользоваться этими классами точно также, как если бы в его распоряжении был установленный Битрикс.
Статический анализ кода
Следует указать файл ~/resources/autoload-dist.php
в качестве дополнительного файла автозагрузчика.
Известные особенности
Ошибка при вызове \Bitrix\Main\Application::getInstance()
Если необходимо работать с \Bitrix\Main\Application::getInstance()
, он будет вызывать ошибку:
Чтобы этого избежать, следует создать требуемый объект приложения. Например, так:
Лицензия и информация об авторе
BSD-3-Clause