ruby-on-rails - matchers - rspec rails 5
Rspec: PG:: ConnectionBad: PQsocket() no puede obtener el descriptor de socket (4)
Ejecuto mi rspec y la mayor parte de la prueba falló. Tengo el mismo error para ellos, que es:
Failure/Error: Unable to find matching line from backtrace
ActiveRecord::StatementInvalid:
PG::ConnectionBad: PQsocket() can''t get socket descriptor: BEGIN
Encontré una pregunta que es similar a mi problema, pero todavía no hay una respuesta y también probé la solución desde este enlace , pero no hizo ninguna diferencia para mí. Abrí mi consola de prueba y ejecuté algunas consultas simples y funcionó.
Puede haber un problema con pg: ''0.18.1''
. Intenté volver a 0.18.0
, y creo que el problema se ha ido.
Abriré un problema en el repositorio después de probarlo un poco más localmente. Agregué este problema en el repositorio de pg .
No sé si los problemas están vinculados, pero descubrí que al usar el archivo de socket local de Unix en lugar de localhost el problema parecía desaparecer para la pregunta vinculada; quizás también podría ayudarlo?
"Rake spec" falla la mayoría de las pruebas, pero "rails s" funciona bien en la fuente de diáspora
Obtuve el mismo error y algunos otros errores como PG::UnableToSend: socket not open
. Parecía un error en momentos aleatorios. Lo belongs_to
y en realidad se debió a un modelo que tenía una asociación belongs_to
inapropiada. Es posible que esto no se aplique a ti, pero es de esperar que ayude a alguien.
Tuve:
belongs_to :user, class_name: User
Cuando debería haber sido:
belongs_to :user, class_name: ''User''
De alguna manera, esa línea estaba rompiendo todas mis conexiones de tomas PG.
Puede no tener ninguna relación con rspec, pero tirando esto por si acaso. Luché contra esto durante semanas y para mí fue la forma en que los pasajeros generan nuevos procesos. Solo tuve que agregar esto
# Rails -- prepared statements incompatible with faster spawn methods.
PassengerSpawnMethod conservative
a /etc/apache2/mods-available/passenger.conf
https://www.phusionpassenger.com/library/indepth/ruby/spawn_methods/