Rails规范测试错误,没有提供密码

时间:2017-04-26 19:35:38

标签: postgresql ruby-on-rails-4 testing rspec

我有一个多年前创建的现有项目。公司里没有人成功运行它们。我已更新文件以适应最新的rails版本,但是当我运行bundle exec rspec spec / models / promo_code_spec.rb时,

我得到了

   /Users/mmiller/.rvm/gems/ruby-2.1.6@global/gems/activerecord-4.1.9/lib/active_record/connection_adapters/postgresql_adapter.rb:888:in `initialize': fe_sendauth: no password supplied (PG::ConnectionBad)

我在这篇文章中已经按照以下步骤操作了:     fe_sendauth: no password supplied 但仍然得到同样的错误。 有关如何解决此问题的任何建议?

2 个答案:

答案 0 :(得分:0)

改变这一点,

local   all             all                                     trust

要,

local   all             all                                     md5

使用用户名和密码在PostgreSQL中创建一个super_user,并将该用户名和密码添加到database.yml文件中

答案 1 :(得分:0)

对于我而言,Welp作为任何形式的Rails测试的全新用户,当我想使用RSpec并忘记创建测试数据库时,都会遇到此错误。确保已在database.yml中为测试数据库分配了自己的名称。

一个有用的SO帖子提到了此命令行来初始化内容:

bundle exec rake db:reset RAILS_ENV=test

然后开始欢乐...