Как загрузить данные данных hautelook alice в phpunit symfony?

Я пытаюсь добавить этот код в свой DefaultControllerTest

$load = new Loader();
$load->load('src/AppBundle/DataFixtures/ORM/product.yml');

и вот полный код моего контроллера

<?php

namespace Tests\AppBundle\Controller;

use Nelmio\Alice\Fixtures\Loader;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;

class DefaultControllerTest extends WebTestCase
{
public function testIndex()
{
$load = new Loader();
$load->load('src/AppBundle/DataFixtures/ORM/product.yml');
$client = static::createClient();

$crawler = $client->request('GET', '/');

$this->assertEquals(200, $client->getResponse()->getStatusCode());
$this->assertContains('Welcome to Symfony', $crawler->filter('#container h1')->text());
}
}

Если я запускаю phpunit. Работает и ошибок не найдено. Он успешно протестирован, но проблема здесь: product.yml не вставляет никаких данных в мою базу данных. Но если я запускаю эту команду bin / console hautelook_alice: доктрина: светильники: нагрузка —append. Это будет работать. Это вставить данные. Как я могу загрузить данные перед тестированием контроллера? Я пытаюсь исследовать больше об этом. но я понятия не имею, как добавить его сейчас.

1

Решение

Вы можете просто использовать скрипт bash. Как то так (адаптируйся под свои нужды):

#!/bin/bash
echo "# Refresh data model and load fixtures"php bin/console doctrine:database:create --if-not-exists --env=dev
php bin/console doctrine:schema:drop --force --env=dev
php bin/console doctrine:schema:create --env=dev
php bin/console doctrine:schema:validate --env=dev
php bin/console hautelook_alice:doctrine:fixtures:load --append --env=dev
echo -e " --> DONE\n"

Затем вы можете запустить phpunit, который будет использовать эту свежую базу данных. Или вы можете просто добавить вызов phpunit в этот скрипт:

./bin/simple-phpunit --debug --verbose
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]