ich folgende this advice auf glücklich war wie ein pry Debugger in meinem Phoenix Controller Tests auszuführen:Elixir hebeln Sitzung unterbrochen, da die Datenbankverbindung
require IEx
in der Zieldatei- hinzufügen
IEx.pry
auf die gewünschte Linie - die Tests innerhalb IEx:
iex -S mix test --trace
Aber nach ein paar Sekunden dieser Fehler immer erschienen:
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
Wie die Meldung sagt, wird die Datenbankverbindung an dieser Stelle zu einer Zeitüberschreitung und alle Befehle, die die Datenbankverbindung aufrufen wird mit einem DBConnection.OwnershipError
Fehler aus. Wie kann ich meiner Datenbankverbindung mitteilen, dass die Zeit nicht überschritten wird, damit ich meine Tests in Ruhe debuggen kann?
Auch: 'ExUnit.configure (timeout:: unendlich)' und/oder 'iex -S mix test --trace' sind weltweite Alternativen. – mudasobwa
Danke für diesen Tipp; Ich habe 'ExUnit.configure (timeout:: infinity) nicht versucht', aber ich kann bestätigen, dass 'iex -S mix test --trace' * request * timeouts verhindert, aber nicht das * db connection * timeout verhindert (siehe Schritte, die ich in der obigen Frage versucht habe). Ich frage mich, ob ich das als Bug behandeln soll? –
Keine Ahnung. Wahrscheinlich ja, aber ich bin mir nicht sicher. – mudasobwa