starting rails in test environment
        Posted  
        
            by Brian D.
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Brian D.
        
        
        
        Published on 2010-05-11T22:33:34Z
        Indexed on 
            2010/05/12
            0:14 UTC
        
        
        Read the original article
        Hit count: 287
        
ruby-on-rails
|environment
I'm trying to load up rails in the test environment using a ruby script. I've tried googling a bit and found this recommendation:
require "../../config/environment"
ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV'] || 'test'
This seems to load up my environment alright, but my development database is still being used. Am I doing something wrong?
Here is my database.yml file... however I don't think it is the issue
development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: BrianSite_development
  pool: 5
  username: root
  password: dev
  host: localhost
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: BrianSite_test
  pool: 5
  username: root
  password: dev
  host: localhost
production:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: BrianSite_production
  pool: 5
  username: root
  password: dev
  host: localhost
I can't use
ruby script/server -e test
because I'm trying to run ruby code after I load rails. More specifically what I'm trying to do is: run a .sql database script, load up rails and then run automated tests. Everything seems to be working fine, but for whatever reason rails seems to be loading in the development environment instead of the test environment.
Here is a shortened version of the code I am trying to run:
system "execute mysql script here"
require "../../config/environment"
ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV'] || 'test'
describe Blog do
  it "should be initialized successfully" do
    blog = Blog.new
  end
end
I don't need to start a server, I just need to load my rails code base (models, controllers, etc..) so I can run tests against my code.
Thanks for any help.
© Stack Overflow or respective owner