Phil Lawrence on 28 Jul 2004 13:22:40 -0000 |
Cc: ABE.pm Cc: Philly.pm Ricardo SIGNES wrote: > * Phil Lawrence > >> Anyway, why not have: >> ./t >> ./t/modules >> ./t/modules/login.pm >> [ ... ] > > > > ...why not indeed? :) That's probably what I'd do, if I had > a lot of repeated stuff, too. Here's why not: I can't use Test::More from within those modules, because I already used it in the ./t/test_driver.pl script! :-( I wasted yesterday looking for a way to do this, and the best I could do by 5:00 was find references to Test::Builder, whose constructor returns singletons. I think this may help, but I'm not sure about implementation. Ideas? Basically, I need the ability to write tests into each module. The last thing I tried was to subclass Test::More thusly: package T::Test; use warnings; use strict; use Test::More qw(no_plan); sub new { bless {} => shift() } 1; and in ./t/test_driver.pl: use T::Test; my $t = T::Test->new; $t->require_ok( 'Term::Interact' ); If this worked, I thought I could pass $t to all the different testing modules I use from the driver script. But no dice: $ ./t/test.pl not ok 1 - require T::Test=HASH(0x81392a0); # Failed test (./t/test.pl at line 11) # Tried to require 'T::Test=HASH(0x81392a0)'. # Error: Can't modify require in scalar assignment at (eval 2) line 2, at EOF 1..1 # Looks like you failed 1 tests of 1. This may be related to Test::Builder's export_to_level method, I don't know. I'm not thinking clearly about this... Phil - **Majordomo list services provided by PANIX <URL:http://www.panix.com>** **To Unsubscribe, send "unsubscribe phl" to majordomo@lists.pm.org**
|
|