Lets say you maintain a library or tool that could be sensitive to particular changes in ruby. In my case, ParseTree is very dependent on the internals of ruby staying the same. Maybe in your case you are using some methods that changed their argument semantics (they way public_methods changed in 1.8). Making sure your code worked from version to version is a bit of a pain.
Until now.
% ./bin/multiruby -I../../RubyInline/dev ../../RubyInline/dev/test_inline.rb
VERSION = 1.8.2
Loaded suite ../../RubyInline/dev/test_inline
Started
...................................................
Finished in 3.385808 seconds.
51 tests, 78 assertions, 0 failures, 0 errors
RESULT = 0
VERSION = 1.8.3
Loaded suite ../../RubyInline/dev/test_inline
Started
...................................................
Finished in 3.21357 seconds.
51 tests, 78 assertions, 0 failures, 0 errors
RESULT = 0
VERSION = 1.8.4
Loaded suite ../../RubyInline/dev/test_inline
Started
...................................................
Finished in 3.642159 seconds.
51 tests, 78 assertions, 0 failures, 0 errors
RESULT = 0
This will be released with ZenTest very very soon.