【发布时间】:2018-04-28 01:19:10
【问题描述】:
我运行了我的 rspec,但大部分测试都失败了。我也遇到了同样的错误,那就是:
Failure/Error: Unable to find matching line from backtrace
ActiveRecord::StatementInvalid:
PG::ConnectionBad: PQsocket() can't get socket descriptor: BEGIN
我找到了一个与我的问题相似的question,但还没有答案,我也尝试了这个link 的解决方案,但它对我没有任何影响。我打开了我的测试控制台并运行了一些最简单的查询,它工作正常。
【问题讨论】:
-
这个问题一直困扰着我一段时间。在触发数据库访问测试的其余部分失败之前,我的规范通常会运行几个测试。在哪些测试会导致规范失败方面并不一致。
-
测试套件中似乎存在连接泄漏,最终耗尽了连接池。问题是这可能发生在哪里(以及如何解决它)。
-
我创建了一个issue with rspec - 也许我们可以对此有更多的了解。
-
我遇到了同样的问题;对我来说,这是在长时间运行的
delayed_job中发生的,它从 CSV 文件中导入了一些记录。我切换到 MySQL,这解决了问题。
标签: ruby-on-rails rspec rspec-rails