2014-05-13 13 views
10

Rspec'i çalıştırıyorum ve çoğu sınama başarısız oldu. Ben onlar için aynı hatayı aldık: Rspec: PG :: ConnectionBad: PQsocket() yuva tanımlayıcısını alamıyor

Failure/Error: Unable to find matching line from backtrace 
    ActiveRecord::StatementInvalid: 
    PG::ConnectionBad: PQsocket() can't get socket descriptor: BEGIN 

Problemimin benzer bir question buldum ama cevap henüz yoktur ve ben de bu link gelen çözüm denedim ama olmadı benim için herhangi bir fark yarat. Test konsolumu açtım ve en basit sorguları çalıştırdım ve işe yaradı.

+1

Bu konuya bu

# Rails -- prepared statements incompatible with faster spawn methods. PassengerSpawnMethod conservative 

eklemek zorunda kaldı. Teknik özelliklerim tipik olarak birkaç test için çalışır ve bir şey başarısız olan testlere erişen veritabanının geri kalanını tetikler. Hangi testlerin hangi özelliklerin başarısız olmasına neden olacağı konusunda tutarlı değildir. – Ivar

+1

Test paketinde, bağlantı havuzunu en sonunda tüketen bir bağlantı sızıntısı olduğu anlaşılıyor. Soru şu olabilir: (ve nasıl çözüleceği). – Ivar

+1

[rspec ile] bir sorun yarattım (https://github.com/rspec/rspec-rails/issues/1317) - belki daha fazla ışık tutabiliriz. – Ivar

cevap

3

pg: '0.18.1' ile ilgili bir sorun olabilir. 0.18.0'a geri dönmeyi denedim ve sorunun ortadan kalktığına inanıyorum.

Biraz daha yerel olarak test ettikten sonra repoda bir sorun açacağım. Bunu ekledim issue on the pg repo.

+0

Ugh. Daha fazla test ettikten sonra, bu konuda yanılmışım. –

+0

Aslında ne yardımcı olsa da, [spring-commands-rspec] (https://github.com/jonleighton/spring-commands-rspec) gem yüklüyordu. Sanırım benim için ne yaptığını, çalıştığı bir eyalette önbelleğe aldığını düşünüyorum. Her ne kadar aynı zamanda, olmadığı bir durumda da kolayca önbelleğe alabiliyordu. :( –

-1

Aynı hatayı alıyorum ve PG::UnableToSend: socket not open gibi başka bazı hatalar alıyordum. Rastgele zamanlarda hata göründü. Onu izledim ve aslında uygunsuz bir belongs_to ilişkisine sahip bir model nedeniyle oldu. Bu sizin için geçerli olmayabilir ancak umarım birilerine yardımcı olur.

vardı:

olmalıydı
belongs_to :user, class_name: User 

:

belongs_to :user, class_name: 'User' 

nasılsa o bir satır PG prizler bağlantılarının tüm yıkıyordu.