Load single alice fixtures yml file before a phpunit test with symfony.
Install phpunit-injector
- composer:
composer require --dev zalas/phpunit-injector
root\phpunit.xml.dist
:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/8.0/phpunit.xsd">
<!-- ... -->
<listeners>
<listener class="Zalas\Injector\PHPUnit\TestListener\ServiceInjectorListener" />
</listeners>
</phpunit>
root\config\packages\framework.yaml
:
framework:
test: true
use Fidry\AliceDataFixtures\Loader\PersisterLoader;
use Symfony\Bundle\FrameworkBundle\KernelBrowser;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
use Symfony\Component\DomCrawler\Form;
use Zalas\Injector\PHPUnit\Symfony\TestCase\SymfonyTestContainer;
use Zalas\Injector\PHPUnit\TestCase\ServiceContainerTestCase;
class YourTest extends WebTestCase implements ServiceContainerTestCase
{
use SymfonyTestContainer;
/**
* @inject fidry_alice_data_fixtures.doctrine.persister_loader
* @var PersisterLoader
*/
private $loader;
public function load() {
$this->loader->load(['fixtures/test/your-fixture-for-this-test.yaml']);
}
}