Минимальный сборка Bitrix для использования в тестировании.
Устанавливаем.
composer require --dev sheerockoff/bitrix-ci
Подключаем зависимости.
<?php
require 'vendor/autoload.php';
Подключение к базе данных настраивается переменными окружения MYSQL_HOST
, MYSQL_DATABASE
, MYSQL_USER
и MYSQL_PASSWORD
.
Они могут быть переопределены в PHP.
putenv('MYSQL_HOST=localhost');
putenv('MYSQL_DATABASE=bitrix_ci');
putenv('MYSQL_USER=user');
putenv('MYSQL_PASSWORD=password');
Разворачиваем дамп MySQL.
\Sheerockoff\BitrixCi\Bootstrap::migrate();
Подключаем Bitrix.
\Sheerockoff\BitrixCi\Bootstrap::bootstrap();
Тестируем код, который зависит от API Bitrix.
/**
* @param array $stack
* @return array
*/
public function testCanGetBitrixElement(array $stack)
{
$element = CIBlockElement::GetList(null, ['ID' => $stack['id']])->GetNextElement();
$this->assertInstanceOf(_CIBElement::class, $element);
$fields = $element->GetFields();
$this->assertEquals($stack['id'], $fields['ID']);
return $stack;
}