On Oct 26, 2007, at 6:50 AM, Michael Peters wrote:
We use Test::Class a lot too and we do indeed write a separate
script for each
testing module.
I dislike the latter solution for its inefficiency, as Perl
and all our common modules would have to be loaded many times. Our
test suite already takes too long to run within a single script.
You're right that it does increase the run time of the test suite.
The full test
suite for one of our projects takes about 45 minutes to run as it
is, so adding
a few seconds here of or there doesn't really mean much in the
end... at least
to us (that's why it's nice to have an automated build-test smoker).
Yes. We're sensitive to test run time right now, but I suspect that
will go down a lot once we are actually running automated tests. So I
should try using a separate script.
One of the Goals of TH 3.0 is to make it easier to customize the
parsing,
reporting, etc. If you want TH to treat each Test::Class object
like a separate
.t file, then I think the best approach would be to make a T::H
plugin that does
this. I think it would be a useful CPANable module.
Just remember that to use Smolder you need a TAP Archive, so you'd
have to have
prove use both the T::C and the Archive modules. I'm not sure how
the plugin API
has settled (or if it even has) and whether or not it is currently
possible to
have prove use 2 different plugins.
Would it be easier to write a subclass of TAP::Harness and use
runtests, instead of Test::Harness and prove? I confess that I'm
still a little confused about the relationship between the two going
forward.
Jon