Перейти к содержанию

Bitrix

Инициализация компонента

Если необходимо протестировать компонент с полным вызовом шаблона, то необходимо правильно проинициализировать компонент:

class VendorComponentTest extends \PHPUnit\Framework\TestCase
{
    private VendorComponent $component;

    protected function setUp(): void
    {
        $className = \CBitrixComponent::includeComponentClass('vendor:component');
        $bitrixComponent = (new \CBitrixComponent());
        $bitrixComponent->InitComponent(self::COMPONENT_NAME);
        $this->component = (function ($className) {
            $this->classOfComponent = $className;
            return new $this->classOfComponent($this);
        })->call($bitrixComponent, $className);
    }

    public function testExecuteComponent()
    {
        $this->component->executeComponent();
    }
}