Give Test::Class a try. It has almost all of the Test::Unit features, yet allows you to use Test::More style assertions.
With a decent runner and a way to organize your cases, it is almost perfect. Check how it was done in the latest Aspect version for an example. Basically you arrange your tests in a tree, exactly like your code.
The main thing that Test::Class needs is a better runner. Something with a nice UI, more information (like what method am I testing in what class), and ability to run/rerun individual test methods.