【发布时间】:2013-07-12 13:04:03
【问题描述】:
在我的 Rails 3.2.13 应用程序中,我使用的是 Zeus。在测试环境中我使用 PostgreSQL。当我运行 Cucumber,然后运行 RSpec(或相反)时,10 次中有 9 次我收到消息:
PG::Error: ERROR: database "bp_test" is being accessed by other users
DETAIL: There are 1 other session(s) using the database.
: DROP DATABASE IF EXISTS "bp_test"
Tasks: TOP => db:test:load => db:test:purge
(See full trace by running task with --trace)
正如here 所描述的,它需要整个不确定的马戏团来尝试终止数据库连接才能使其再次工作。但这并不总是有效,而且也是一个很大的麻烦。对此必须有更好的解决方案。有人知道吗?
【问题讨论】:
-
是的,我已经检查过了。我的项目中没有
autorun。 -
它工作的事实有时表明 postgres 会话关闭正在完成,但正在异步发生,并且运行下一个测试的 zeus 相关加速足以阻止在正常情况下完成。然而,如果是这样的话,很难相信没有更多关于它的文章。我不知道它是否相关,但你可能想看看platformonrails.wordpress.com/2013/04/06/…
-
这是惊人的任意性。我刚刚尝试了博客文章中的
custom_plan.rb,一切运行良好……我可以运行 Cucumber、RSpec 和所有东西。现在我刚刚重新启动了我的 MacBook 并尝试运行zeus rake spec并再次收到错误消息。尽管这是重启后的第一个zeus命令。现在我完全困惑了。有人吗?
标签: ruby-on-rails postgresql rspec cucumber zeus