Saturday, October 15, 2011

Re: [Rails] Re: Cannot run server/rake/spork/rspec or anything due to some failed tests

On Sat, Oct 15, 2011 at 1:47 PM, Heinz Strunk <lists@ruby-forum.com> wrote:
> I just tried to run rake db:migrate:reset and I got a different error
> but still some spec involved:
>
> ** Invoke db:migrate:reset (first_time)
> ** Invoke db:drop (first_time)
> ** Invoke db:load_config (first_time)
> ** Invoke rails_env (first_time)
> ** Execute rails_env
> ** Execute db:load_config
> ** Execute db:drop
> ** Invoke db:create (first_time)
> ** Invoke db:load_config
> ** Execute db:create
> brothelking_test already exists
> ** Invoke db:migrate (first_time)
> ** Invoke environment (first_time)
> ** Execute environment
> rake aborted!
> Mysql2::Error: Table 'ror_project_development.comments' doesn't exist:
> SHOW FIELDS FROM `comments
> ...
> /Users/user/Sites/ror_project/spec/factories/activity_reports.rb:21:in
> `block in <top (required)>'
> ...
> /Users/user/Sites/ror_project/config/environment.rb:5:in `<top
> (required)>'
>

I think you've ran into several errors and, at this point your
environment is corrupted.
Try first to sanitize your test environment.
If possible, recreate your development database from scratch (drop it
and create it again), then run your migrations again to make sure you
have them all migrated.
Do not seed the database unless you need something for the application
to start properly.
After you have your pristine development database, run: rake
db:test:prepare, which will clone your dev database into your test
database, so you will have the same database structure on both,
development and test environment.

Then start running your specs. Try running 'rake spec', instead of
'rspec spec/' since rake spec takes care of the db:test:prepare, so it
might be redundant now, but once you get the habit of running this
way, you make sure your data env is clean when your tests start.

NOTE: Do not seed the test database, that's not a good practice, since
your tests scenarios need to be properly isolated to be reliable, you
want to make sure of cleanning the sensitive data and mock up the data
you need just before running the specific test scenario and not
before.

Hope it helps.

Cheers!

--
Leonardo Mateo.
There's no place like ~

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate