sheerockoff/bitrix-ci

This package is abandoned and no longer maintained. The author suggests using the bitrix-toolkit/bitrix-ci package instead.

Minimal build of Bitrix for CI

v22.600 2024-10-01 09:13 UTC

README

PHPUnit Code Size

Минимальный сборка Bitrix для использования в тестировании.

Быстрый старт

Устанавливаем.

composer require --dev bitrix-toolkit/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.

\BitrixToolkit\BitrixCi\Bootstrap::migrate();

Подключаем Bitrix.

\BitrixToolkit\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;
}

Список подключенных модулей