“Rake spec”在大多数测试中都失败了,但是“rails s”在Diaspora源上运行良好

时间:2014-02-12 18:09:10

标签: ruby-on-rails ruby postgresql rspec diaspora

我有克隆的Diaspora来源,我有一个工作的本地吊舱似乎顺利运行。但是当我运行$ rake spec时,一些初始测试通过,然后所有测试都开始失败。此外,我发现有趣的是,每次rake spec运行时,它们都会在不同点失败。

他们都因错误而失败:

An error occurred in an after hook
  ActiveRecord::StatementInvalid: PG::ConnectionBad: PQsocket() can't get socket descriptor: ROLLBACK
  occurred at /home/darshan/.rvm/gems/ruby-2.0.0-p353@diaspora/gems/activerecord-3.2.16/lib/active_record/connection_adapters/postgresql_adapter.rb:650:in `async_exec'

Postgres'日志说:

could not receive data from client: Connection reset by peer
unexpected EOF on client connection

3 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,发现通过使用本地unix套接字文件,而不是通过localhost访问Postgres服务器,问题似乎已经消失。

要实现此目的,请从database.yml文件中删除host: localhost,然后重新运行rake spec。这默认返回本地套接字文件(通常是/ tmp或/ var / run / postgres中的.s.PGSQL.5432,具体取决于您的平台。)

答案 1 :(得分:0)

我遇到了same problem。我尝试恢复为pg版本0.18.0而不是0.18.1,这似乎可以解决这个问题。

答案 2 :(得分:0)

转到postgres.conf并将ssl = true更改为ssl = false

我找到了解决此问题的问题here,它对我有用。