Ruby on rails &引用;Rake spec";大多数测试失败,但;轨道s";在侨民来源上工作
我已经克隆了散居者的来源,而且我有一个可以正常运行的本地豆荚。但是当我运行Ruby on rails &引用;Rake spec";大多数测试失败,但;轨道s";在侨民来源上工作,ruby-on-rails,ruby,postgresql,rspec,diaspora,Ruby On Rails,Ruby,Postgresql,Rspec,Diaspora,我已经克隆了散居者的来源,而且我有一个可以正常运行的本地豆荚。但是当我运行$rake spec时,一些初始测试通过了,然后所有测试都开始失败。另外,我发现有趣的是,每次运行rake spec时,它们都会在不同的点失败 它们都会因错误而失败: An error occurred in an after hook ActiveRecord::StatementInvalid: PG::ConnectionBad: PQsocket() can't get socket descriptor: R
$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'
博士后日志说:
could not receive data from client: Connection reset by peer
unexpected EOF on client connection
我遇到了同样的问题,并发现通过使用本地unix套接字文件,而不是通过localhost访问Postgres服务器,问题似乎已经解决了
要实现这一点,请从database.yml文件中删除
host:localhost
,然后重新运行rake spec
。这默认回到本地套接字文件(通常是/tmp或/var/run/postgres中的.s.PGSQL.5432,具体取决于您的平台。)我运行到了。我试着恢复到pg
版本0.18.0
,而不是0.18.1
,这似乎可以解决我的问题。转到postgres.conf
并将ssl=true
更改为ssl=false
我找到了这个问题的解决方案,它对我起了作用。你是否运行了$rake db:test:prepareYes,@RahulSingh,我运行了。发布你的
数据库。yml
看起来像是连接或性能问题,而不是配置问题。您的测试数据库是否位于远程主机上?@ishwr我切换到使用MySQL,这对我很有效。这是一个非常奇怪的错误,我不确定是什么导致了它。我尝试了这个,但仍然得到相同的错误。这修复了我们的测试套件错误,在Amazon EC2 Ubuntu box上运行minitest+rails 4。非常感谢!!我不建议将其用于生产。