Laravel – DatabaseTransactions – превышено время ожидания блокировки

Мы выполняем модульные тесты (их много), используя трейт DatabaseTransactions и подключение к базе данных MySQL.

При выполнении полного набора тестов мы получаем 15 или около того «Общая ошибка: 1205 Превышено время ожидания блокировки;». При выполнении этих тестов по отдельности все они завершатся успешно.

Проблема возникает в основном при выполнении метода sync(), но не только тогда.

(пытался увеличить время ожидания, не повезло).

Любое предложение будет высоко оценено.

Опубликовано также в laracasts: https://laracasts.com/discuss/channels/testing/test-suite-general-error-1205-lock-wait-timeout-exceeded


person Tania Petsouka    schedule 10.07.2019    source источник
comment
Не могли бы вы показать нам пример теста, который иногда терпит неудачу? И есть ли у вас какие-либо отклонения от значений по умолчанию в настройках вашего проекта? Такие вещи, как несколько баз данных, параллельные тесты и т. д.   -  person PtrTon    schedule 10.07.2019


Ответы (1)


Выяснилось, что в этом виноват пропавший parent::tearDown();.

Таким образом, сделка не была закрыта.

Проблема решена.

person Tania Petsouka    schedule 16.07.2019