use*_*081 6 rspec ruby-on-rails railstutorial.org
实际上,这是一个配置问题.spec/spec_helper.rd指向'test'环境.我将其更改为'development'以使其引用config/environments/development.rb
最好的问候
弗雷德
我是RoR的新手,并遵循Michael Hartl的RoR 3.2教程.
在执行第一次测试时(第3.2.1章),RSpec从这一次开始返回一百个错误(并且所有错误都看起来相同或多或少):
/home/fred/.rvm/gems/ruby-1.9.3-p0@ODQ/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:45:in
`resolve_hash_connection': database configuration does not specify
adapter (ActiveRecord::AdapterNotSpecified)
Run Code Online (Sandbox Code Playgroud)
我的DEV数据库是PostgreSQL,看起来工作正常(迁移工作正常).
有人可以帮我理解什么是错的并解决它吗?
谢谢.
的Gemfile:
source 'https://rubygems.org'
gem 'rails', '3.2.1'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'postgres-pr'
gem 'pg'
# gem for test scripts
group :development, :test do
gem 'rspec-rails'
end
group :test do
gem 'capybara', '1.1.2'
end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
Run Code Online (Sandbox Code Playgroud)
database.yml的:
# PostgreSQL 8.4
development:
adapter: postgresql
encoding: unicode
database: ODQ_APP
pool: 5
Run Code Online (Sandbox Code Playgroud)
环境:
Ruby version 1.9.3 (i686-linux)
RubyGems version 1.8.15
Rack version 1.4
Rails version 3.2.1
JavaScript Runtime Node.js (V8)
Active Record version 3.2.1
Action Pack version 3.2.1
Active Resource version 3.2.1
Action Mailer version 3.2.1
Active Support version 3.2.1
Middleware
ActionDispatch::Static
Rack::Lock
#<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0xa848460>
Rack::Runtime
Rack::MethodOverride
ActionDispatch::RequestId
Rails::Rack::Logger
ActionDispatch::ShowExceptions
ActionDispatch::DebugExceptions
ActionDispatch::RemoteIp
ActionDispatch::Reloader
ActionDispatch::Callbacks
ActiveRecord::ConnectionAdapters::ConnectionManagement
ActiveRecord::QueryCache
ActionDispatch::Cookies
ActionDispatch::Session::CookieStore
ActionDispatch::Flash
ActionDispatch::ParamsParser
ActionDispatch::Head
Rack::ConditionalGet
Rack::ETag
ActionDispatch::BestStandardsSupport
Application root /home/fred/rails_projects/ODQ
Environment development
Database adapter postgresql
Database schema version 20120503135705
Run Code Online (Sandbox Code Playgroud)
弗雷德
小智 10
你需要解决这个问题
# PostgreSQL 8.4
development:
adapter: postgresql
encoding: unicode
database: ODQ_APP
pool: 5
Run Code Online (Sandbox Code Playgroud)
并添加这样的测试部分
# PostgreSQL 8.4
test:
adapter: postgresql
encoding: unicode
database: ODQ_APP_test
pool: 5
Run Code Online (Sandbox Code Playgroud)
还要记得创建测试db :) Rspec在"测试"环境中运行,所以他将从database.yml下的测试键看不开发:)