| Mon 2 Oct '06 |  | 
Thanks to a hint by Chris Mear on the Ruby on Rails Mailinglist I had an idea how to add profiling my unittests. It’s a simple 3 step process and adds just 5 lines of code to your unittests:
Step 1:
require 'profiler'
Step 2:
 def setup
  # ...
  # your normal setup code
  # ...
  Profiler__::start_profile
 end
Step 2:
 def teardown
  Profiler__::stop_profile
  f=File::new("#{RAILS_ROOT}/log/profiler.#{name() + ' ' +
              Time.now.strftime('%Y-%m-%d %H:%M')}.log", 'w')
  Profiler__::print_profile(f)
  # ...
  # your normal teardown code
  # ...
 end
As you probably guessed from the code, this will log the profiling results into a file for each test. But beware: this is VERY SLOW! The tests I was profiling took 9s without profiling and 1267s with profiling… But slow profiling still beats no profiling  
 
If you are looking for memory profiling, there is a nice article by Scott Laird on Memory leak profiling with Rails.
 
	 
	