[rspec-users] anyone able to explain logic behind "rake spec" startup (e.g. db:test:prepare => abort_if_pending_migration => invoke environment => etc etc)

Matt Wynne matt at mattwynne.net
Thu Nov 6 10:31:00 EST 2008


If you want to speed things up, just run spec spec. That will work  
fine unless you have pending migrations that affect your specs.

On 6 Nov 2008, at 12:01, Hongli Lai wrote:

> Greg Hauptmann wrote:
>> anyone able to explain logic behind "rake spec" startup? i.e. the
>> below steps & why things occur when they do
>> Macintosh-2:myequity greg$ rake spec --trace
>> (in /Users/greg/source/myequity)
>> ** Invoke spec (first_time)
>> ** Invoke db:test:prepare (first_time)
>> ** Invoke db:abort_if_pending_migrations (first_time)
>> ** Invoke environment (first_time)
>> ** Execute environment
>> ** Execute db:abort_if_pending_migrations
>> ** Execute db:test:prepare
>> ** Invoke db:test:load (first_time)
>> ** Invoke db:test:purge (first_time)
>> ** Invoke environment
>> ** Execute db:test:purge
>> ** Execute db:test:load
>> ** Invoke db:schema:load (first_time)
>> ** Invoke environment
>> ** Execute db:schema:load
>> ** Execute spec
>> <cut>
>
> 'spec' depends on 'db:test:prepare'. 'db:test:prepare' runs any  
> pending migrations on your development database, and copies the  
> schema structure to the test database. This is to keep the  
> development database's structure and the test database's structure  
> in sync.
>
> Almost everything you see here is invoked by 'db:test:preare'.
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users



More information about the rspec-users mailing list