1
0
Fork 0
mirror of https://github.com/thoughtbot/shoulda-matchers.git synced 2022-11-09 12:01:38 -05:00
thoughtbot--shoulda-matchers/tasks/list_tests.rake
tsaleh 4b39f0076a - moved rake tasks to shoulda namespace
- added shoulda:from_yaml task from David.Lowenfels@gmail.com



git-svn-id: https://svn.thoughtbot.com/plugins/shoulda/trunk@237 7bbfaf0e-4d1d-0410-9690-a8bb5f8ef2aa
2007-11-08 21:45:27 +00:00

40 lines
1.2 KiB
Ruby

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
puts "#{klass.name.gsub(/Test$/, '')}"
test_methods = klass.instance_methods.grep(/^test/).map {|s| s.gsub(/^test: /, '')}.sort
test_methods.each {|m| puts " - #{m}" }
# puts "#{klass.name.gsub(/Test$/, '')}"
# test_methods = klass.instance_methods.grep(/^test/).sort
#
# method_hash = test_methods.inject({}) do |h, name|
# header = name.gsub(/^test: (.*)should.*$/, '\1')
# test = name.gsub(/^test:.*should (.*)$/, '\1')
# h[header] ||= []
# h[header] << test
# h
# end
#
# method_hash.keys.sort.each do |header|
# puts " #{header.chomp} should"
# method_hash[header].each do |test|
# puts " - #{test}"
# end
# end
end
end
end