я был счастлив следующий this advice о том, как запустить pry отладчик в моих тестах контроллера Phoenix:Elixir подглядывать сессия прерывается, потому что соединение с базой данных истекло
require IEx
в целевом файле- добавить
IEx.pry
в нужную строку - запустить тесты в Iex:
iex -S mix test --trace
Но через несколько секунд эта ошибка всегда появлялась:
16:51:08.108 [error] Postgrex.Protocol (#PID<0.250.0>) disconnected:
** (DBConnection.ConnectionError) owner #PID<0.384.0> timed out because
it owned the connection for longer than 15000ms
Как говорится в сообщении, соединение с базой данных, как представляется, тайм-аут в этой точке, и любые команды, которые вызывают соединение с базой данных выдаст ошибку с DBConnection.OwnershipError
. Как сообщить о подключении базы данных к тайм-ауту, чтобы я мог спокойно отлаживать мои тесты?
Также: 'ExUnit.configure (timeout:: infinity)' и/или 'iex -S mix test -trace' являются альтернативами во всем мире. – mudasobwa
Спасибо за этот совет; Я не пытался использовать ExUnit.configure (timeout:: infinity) ', однако я могу подтвердить, что' iex -S mix test -trace' не позволяет * запросить * таймауты, но не предотвращает тайм-аут соединения * db * шаги, которые я пробовал в вопросе выше). Интересно, я должен рассматривать это как ошибку? –
Не знаю. Наверное, да, но я не уверен. – mudasobwa