My DoctrineFixturesBundle is installed and I can load fixture trough the command-line but , how can I load fixtures from my functional test ?
If you use symfony's WebTestCase
, there's actually a very easy way to load your fixtures. Your fixture has to implement the FixtureInterface
; thus, you can call it's load()
method directly in your test's setUp()
method. You just have to pass an EntityManager
to the load()
method, which can be aquired from the symfony container:
public function setUp() { $client = static::createClient(); $container = $client->getContainer(); $doctrine = $container->get('doctrine'); $entityManager = $doctrine->getManager(); $fixture = new YourFixture(); $fixture->load($entityManager); }
You can load the fixtures in your test's setUp()
method as you can see in this question.
You can use the code in the question but need to append --append
to the doctrine:fixtures:load
command in order to avoid the confirmation by the fixtures-bundle.
The better solution is to have a look at the LiipFunctionalTestBundle which makes using data-fixtures easier.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With