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

Dar*_*Rai 6 ruby postgresql rspec ruby-on-rails 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'
Run Code Online (Sandbox Code Playgroud)

Postgres的日志说:

could not receive data from client: Connection reset by peer
unexpected EOF on client connection
Run Code Online (Sandbox Code Playgroud)

Dan*_*and 3

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

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