On Nov 18, 2007, at 3:50 AM, nadim khemir wrote:

What are your thoughts, way of working that avoid the problems to start with

I organize my test files using an approach similar to nUnit - I create a bunch of subroutines that each do a few assertions, and that call set_up() and tear_down().

In my foo.t file I might have:

#-------------------------------------------
use strict;
use warnings;
use Readonly;
use Test::More tests => 10;

Readonly my $CLASS_UNDER_TEST => Foo::Bar;
use_ok($CLASS_UNDER_TEST);

test_foo();
test_bar();
test_baz();

exit;

sub set_up {
  my $object = Foo::Bar->new();
  return $object;
}

sub tear_down {
   my @things_to_destroy = @_;
   foreach $thing (@things_to_destroy) {
     undef $thing;
   }
   return 1;
}

sub test_foo {
   my $foo = set_up();
   # do some assertions using $foo
   return tear_down($foo);
}

sub test_bar {
   my $foo = set_up();
   # do some assertions using $foo
   return tear_down($foo);
}

sub test_baz {
   my $foo = set_up();
   # do some assertions using $foo
   return tear_down($foo);
}

#----------------------------





-------------------------------------------------------
Matisse Enzer <[EMAIL PROTECTED]>
http://www.matisse.net/  - http://www.eigenstate.net/



Reply via email to