public
Description: Rails: Rake task to invoke single tests/specs
Homepage:
Clone URL: git://github.com/grosser/single_test.git
name age message
file README.markdown Tue Sep 22 13:34:59 -0700 2009 choose spec executable depending on if script/s... [grosser]
file Rakefile.rb Wed Nov 18 01:58:49 -0800 2009 add exit status to work with ci server [grosser]
directory lib/ Thu Nov 05 14:04:32 -0800 2009 optimize test finding algorithm [grosser]
directory spec/ Thu Nov 05 14:04:32 -0800 2009 optimize test finding algorithm [grosser]
directory tasks/ Thu Sep 17 08:42:20 -0700 2009 added spec/test:last simplified readme [grosser]
README.markdown

Runs a single test/spec via rake.

USAGE

script/plugin install git://github.com/grosser/single_test.git

Single test/spec

rake spec:user          #run spec/model/user_spec.rb (searches for user*_spec.rb)
rake test:users_c       #run test/functional/users_controller_test.rb
rake spec:admin/users_c #run spec/controllers/admin/users_controller_spec.rb
rake test:u*hel         #run test/helpers/user_helper_test.rb (searches for u*hel*_test.rb)

Single test-case/example

rake spec:user:token    #run the first spec in user_spec.rb that matches /token/
rake test:user:token    #run all tests in user_test.rb that match /token/

Spec-server

rake spec:user X=       #run test on spec_sever (if one is running...), very fast for quick failure pin-pointing

All one by one

rake spec:one_by_one    #run each spec/test one by one, to find tests that fail when ran
rake test:one_by_one    #on their own or produce strange output

For last mofified file

rake test:last
rake spec:last

TIPS

  • if script/spec is missing, if will use just spec for specs (which solves some issues)

TODO

  • make test:last more clever e.g. lib -> try spec + spec/lib

AUTHOR

Michael Grosser
grosser.michael@gmail.com
Hereby placed under public domain, do what you want, just do not hold me accountable...