Это проект Padrino. По какой-то причине я загружаю вторую базу данных в среду разработки, но не в тестовую среду. Это, вероятно, очень специфично для моего проекта, и вряд ли кто-то может помочь ... но я действительно застрял! :)
mongoid.yml
defaults: &defaults
host: localhost
port: 27017
max_retries_on_connection_failure: 2
databases:
seeds:
database: seeds_db
host: localhost
port: 27018
development:
<<: *defaults
database: db_development
test:
<<: *defaults
database: db_test
загружено:
Mongoid.load!(File.dirname(__FILE__) + '/mongoid.yml')
Мой rspec_helper:
PADRINO_ENV = 'test' unless defined?(PADRINO_ENV)
require File.dirname(__FILE__) + "/../config/boot.rb"
RSpec.configure do |conf|
conf.include Rack::Test::Methods
end
Мой boot.rb:
PADRINO_ENV = ENV["PADRINO_ENV"] ||= ENV["RACK_ENV"] ||= "development" unless defined?(PADRINO_ENV)
PADRINO_ROOT = File.expand_path('../..', __FILE__) unless defined?(PADRINO_ROOT)
require 'rubygems' unless defined?(Gem)
require 'bundler'
Bundler.setup
Bundler.require(PADRINO_ENV, :default)
require 'redis' unless defined?(Redis)
require 'padrino' unless defined?(Padrino)
require 'mongoid' unless defined?(Mongoid)
Dir.glob(File.join(PADRINO_ROOT, 'config/initializers', "*.rb")){ |file| require file}
Dir.glob(File.join(PADRINO_ROOT, 'config/constants', "*.rb")){ |file| require file}
Padrino.before_load do
end
Padrino.after_load do
Card.load!
Position.load!
end
Padrino.load!
Но это не работает после того, как я перенес свой проект в Padrino. Я не могу найти в документации ничего, что объясняет почему.