@Valtasaar

Laravel 5. Как правильно удалять данные из бд после тестов?

Доброго всем!

После выполнения тестов удаляются все данные из рабочей базы mysql.

phpunit.xml:
<env name="APP_ENV" value="testing"/>
<env name="DB_CONNECTION" value="sqlite"/>
<env name="DB_DATABASE" value=":memory:"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>


Пример теста:
class PostTest extends TestCase
{
    use RefreshDatabase;

    public function setUp()
    {
        parent::setUp();

        $this->post = factory('App\Post')->create();
    }

    public function testPosts()
    {
        $this->get('/posts')->assertSee($this->post->title);
    }
}
  • Вопрос задан
  • 489 просмотров
Решения вопроса 1
@Valtasaar Автор вопроса
Проблема оказалась в том, что не подгружался файл настроек phpunit.xml.
Пришлось перенести исполняемые файлы phpunit и phpunit.bat в корень приложения.
В файле phpunit.bat прописать путь к классу phpunit.
Создать файл настройки окружения .env.testing
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
Либо удалять сразу после каждого метода в тесте созданные данные, либо что проще использовать другую чистую бд и насиловать её как угодно и перед и после тестов миграте фреш делать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы