On Fri, Jun 25, 2004 at 02:18:49PM -0500, Andy Lester wrote: > On Fri, Jun 25, 2004 at 04:51:29PM +0100, Fergal Daly ([EMAIL PROTECTED]) wrote: > > > * I never have to type repetitive tests like > > > > > > isa_ok Foo->new(), 'Foo' > > > > > > again because it's handled by a base class that all my test classes > > > inherit from. > > Repetition is good. I feel very strongly that you should be checking > your constructor results in every single test, and checked against > literals, not variables. > > my $foo = My::Foo->new(); > isa_ok( $foo, 'My::Foo' ); > # and then use it. > # > # Later on... > my $foo = My::Foo->new( bar => 14, bat => \$wango ); > isa_ok( $foo, 'My::Foo' ); > > The more checks you have, the better. Sure, the first isa_ok > technically "covers" the constructor, but why not check after EVERY > constructor? The 2nd example is really an entirely different test.
@_ solves that. sub constructor_ok { my $class = shift; isa_ok($class->new(@_), $class); } I don't think xUnit style makes it any easier to run the same test with many different inputs, F