Hi all, On Thursday, October 10, 2002, at 05:04 pm, Tony Bowden wrote: [snip] > use Test::Class; > use UNIVERSAL::require; > > my @tests = qw( Example::Test Another::Test ); > foreach my $class (@tests) { > $class->require or die "Can't require $class"; > } > Test::Class->runtests(@tests); > > However this keeps dying with "cannot test anonymous subs". A > cursory delve into the innards of Test::Class implies that perhaps > Attribute::Handlers is getting confused somewhere. But I'm not sure > what's going on here really ... [snip]
Think I've figured it out. If you stick your loop inside a BEGIN {} block I think you'll find that it works as you expect. The attribute handler in Test::Class is set to run as a CHECK block (the default provided by Attribute::Handlers). Since you don't require the module until runtime the handler gets confused. I'm running A::H 0.78 - and in my case it just skips running the handler... so no test methods get defined and nothing gets run. I am guessing that you're running an earlier version of A::H and that's why it's passing ANON as the symbol to the Test::Class handler, hence the confusing error message. Hopefully that makes some vague sort of sense! Now I need to figure out if: (a) this is a bug or a lack of documentation on my part (b) if/how it can be fixed :-) Hope this helps. Cheers, Adrian