我已经克隆了 Diaspora 的源代码,并且我有一个可以正常运行的本地 pod,它似乎可以正常运行。但是当我运行 $ 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
最佳答案
我遇到了同样的问题,发现通过使用本地 unix socket 文件,而不是通过 localhost 访问 Postgres 服务器,问题似乎已经消失了。
要实现这一点,请从您的 database.yml 文件中删除 host: localhost
,然后重新运行 rake spec
。这默认返回到本地套接字文件(通常是/tmp 或/var/run/postgres 中的 .s.PGSQL.5432,具体取决于您的平台。)
关于ruby-on-rails - "Rake spec"大多数测试失败,但 "rails s"在 Diaspora 源上工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21736107/