I'm new to Ruby too, and wondering the same question. The part I didn't get was how to organize them hierarchically to match a potentially hierarchical organization of components in the lib directory, and then run them all as a suite.
I haven't been Googling that long, but my findings are already thinner than expected. The most helpful thing I've found is this from the ruby wiki:
Test case classes can be gathered together into test suites which are Ruby files which require other test cases:
# File: ts_allTheTests.rb
require 'test/unit'
require 'testOne'
require 'testTwo'
require 'testThree'
In this way, related test cases can be naturally grouped. Further, test suites can contain other test suites, allowing the construction of a hierarchy of tests.
Previously, I had been avoiding subdirectories in my test directory and doing something like this in my Rakefile, or any ruby file that actually executes the tests:
$LOAD_PATH << File.dirname(__FILE__)
require 'test/unit'
Dir.glob('test/test_*', &method(:require))
So if I combine the two techniques, I would have a file for each directory that dynamically requires tests from that directory, which in turn would be required by the file for the parent directory. But this seems to defeat my original effort to avoid tedium.
Then I found some classes in ruby-doc that sounded relevant but under-documented. However, it looks like there's more info available upward for Test::Unit that I could have easily missed. I haven't read it all yet, but it looks promising.