----- Original Message ---- From: Daniel Risse <[EMAIL PROTECTED]> > To get around this, while still not having to specify the number of > tests to execute, it is run a test from an END block that fails unless > the test completed. This would be signified by calling a function on > the last line of the test saying that everything was ok.
I have two minor point, neither of which is all that serious. Having a test count helps us to know if tests unexpectedly terminate, but it also lets us know that we have the correct number of tests. foreach my $foo ( $object->foo ) { ok looks_like_number($object->$foo), "... and $foo should be a number"; } If all of a sudden 'properties' stops returning one of the properties, your scheme won't catch it. Of course, a good test suite should test that property explicitly, but 'properties' could also start returning an *extra* property and there's more of a chance that this won't be tested. The argument I generally here against stuff like this is something along the lines of "yeah, but that's a bad way to write tests". This is true because clearly you want to explicitly test the number of items being returned, but whether or not someone is writing tests in a good way is orthogonal to whether or not the Test::Harness will help them spot problems. Another nice reason for having a test plan up front, and it's something we can't appreciate since Test::Harness makes it so hard to do: having a progress bar for tests. Having a top progress bar for the number of test scripts/classes and a second progress bar for the number of tests within a given script or class is a much nicer touch than people think. For some reason, many programmers tremendously underappreciate the value of visual representations and pretty graphics working in harmony with a test suite are a plus. Without the test plan, the bottom bar is merely red or green. Those minor, minor nits aside, I think this is a fine idea. Cheers, Ovid