rails matchers bot ruby-on-rails rspec rspec-rails

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 .



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/