Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте!
Для прогона тестов использую phpunit.
Использовал с sqlite - все было отлично, тесты выполнялись быстро. Но с усложнением запросов столкнулся с надобностью перейти с sqlite на mysql, т.к. sqlite не поддерживала некоторый синтаксис запросов, из-за чего тесты стали бесполезными.
С реальной бд mysql скорость запросов очень сильно упала, т.к. как я понимаю, перед каждым тестом laravel дропает все табилицы с тестовым набором и создает их заново.
Подскажите, пожалуйста, как можно ускорить процесс тестирования?
Спасибо!
Изменено VasiliyKoshelev (09.10.2017 13:52:31)
Не в сети
Для таблиц тестовой БД можно использовать MEMORY storage engine.
Не в сети
Для таблиц тестовой БД можно использовать MEMORY storage engine.
А есть какие-либо мануалы по этой теме?
Ну, то есть, я попробовал у всех таблиц указать $table->engine = 'MEMORY';
Потом изменил везде типы text на varchar, потому что не поддерживаются blob/text
Потом урезал где данные больше 255 символов
И все равно получил левые ошибки там, где раньше они не возникали, например, связанные с аутентификацией.
Буду копать, спасибо.
Не в сети
Итак, все перепроверил, поправил и по итогу время выполнения одних и тех же тестов (6 из 80) выполняется теперь за 25 сек, вместо 35 сек.
@Baldal, спасибо!
Может быть, еще можно как-то ускорить процесс?
Не в сети
Страницы 1