Repository testing in Magento 2

Posted on

Repository is simple! Create file repository.php in folder /pub.

<?php
ini_set('display_errors', 1);

use Magento\Framework\App\Bootstrap;
require __DIR__ . '/../app/bootstrap.php';

$params = $_SERVER;
$bootstrap = Bootstrap::create(BP, $params);
$obj = $bootstrap->getObjectManager();

$state = $obj->get('Magento\Framework\App\State');
$state->setAreaCode('frontend');

$searchCriteriaBuilder = $obj->get('Magento\Framework\Api\SearchCriteriaBuilder');
$searchCriteriaBuilder->addFilter('is_active', 1);

$repository = $obj->get('Vendor\Module\Api\YourRepositoryInterface')
    ->getList($searchCriteriaBuilder->create());

foreach ($repository->getItems() as $item) {
    echo $item->getName();
}

Run script in terminal from project root folder:

php pub/repository.php

Tested in Magento 2.4.3