Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 09.10.2017 13:51:41

phpunit и mysql

Здравствуйте!

Для прогона тестов использую phpunit.
Использовал с sqlite - все было отлично, тесты выполнялись быстро. Но с усложнением запросов столкнулся с надобностью перейти с sqlite на mysql, т.к. sqlite не поддерживала некоторый синтаксис запросов, из-за чего тесты стали бесполезными.
С реальной бд mysql скорость запросов очень сильно упала, т.к. как я понимаю, перед каждым тестом laravel дропает все табилицы с тестовым набором и создает их заново.

Подскажите, пожалуйста, как можно ускорить процесс тестирования?
Спасибо!

Изменено VasiliyKoshelev (09.10.2017 13:52:31)

Не в сети

#2 09.10.2017 13:59:17

BaldaI
Откуда: Хабаровск
Сообщений: 16

Re: phpunit и mysql

Для таблиц тестовой БД можно использовать MEMORY storage engine.

Не в сети

#3 09.10.2017 14:24:19

Re: phpunit и mysql

Для таблиц тестовой БД можно использовать MEMORY storage engine.

А есть какие-либо мануалы по этой теме?
Ну, то есть, я попробовал у всех таблиц указать $table->engine = 'MEMORY';
Потом изменил везде типы text на varchar, потому что не поддерживаются blob/text
Потом урезал где данные больше 255 символов
И все равно получил левые ошибки там, где раньше они не возникали, например, связанные с аутентификацией.

Буду копать, спасибо.

Не в сети

#4 09.10.2017 16:18:26

Re: phpunit и mysql

Итак, все перепроверил, поправил и по итогу время выполнения одних и тех же тестов (6 из 80) выполняется теперь за 25 сек, вместо 35 сек.
@Baldal, спасибо!

Может быть, еще можно как-то ускорить процесс?

Не в сети

Подвал раздела