public
Rubygem
Description: Makes tests easy on the fingers and the eyes
Homepage: http://www.thoughtbot.com/projects/shoulda
Clone URL: git://github.com/thoughtbot/shoulda.git
shoulda / tasks / list_tests.rake
100644 24 lines (18 sloc) 0.654 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
namespace :shoulda do
  desc "List the names of the test methods in a specification like format"
  task :list do
 
    require 'test/unit'
    require 'rubygems'
    require 'active_support'
 
    # bug in test unit. Set to true to stop from running.
    Test::Unit.run = true
 
    test_files = Dir.glob(File.join('test', '**', '*_test.rb'))
    test_files.each do |file|
      load file
      klass = File.basename(file, '.rb').classify.constantize
      
      puts klass.name.gsub('Test', '')
 
      test_methods = klass.instance_methods.grep(/^test/).map {|s| s.gsub(/^test: /, '')}.sort
      test_methods.each {|m| puts " " + m }
    end
  end
end