in reply to Test::Class and test organization
Your tests are set up here
sub test1 : Test(5) {
my $self = shift;
# Do stuff here with $self->{foo} and $self->{bar}
# that were passed in at new()
}
Everytime you call test1 Test::Class knows to add 5 to the expected result.
The problem I see with your structure here,
my $test = Test::Floober->new( foo => 2, bar => 5 ); my $test2 = Test::Floober->new( foo => 'abcd', bar => 2 .. 5 ); Test::Class->runtests( $test, $test2 );is that you are trying to call specific tests and ask it to run them. You should write all your tests as methods in your module and then run them all.
For example, in your test module
sub new_scalar_values : Test(5) {
my $self = shift;
my $floober = Floober->new( foo => 2, bar => 5 );
isa_ok($floober, 'Floober');
# Create Custom checks here for foo and bar
}
sub new_array_references_values : Test(5) {
my $self = shift;
my $floober = Floober->new( foo => 2, bar => 1..5 );
isa_ok($floober, 'Floober');
# Create Custom checks here for foo and bar
}
When you run your tests with Test::Class it will call ALL of your tests, no more managing scripts!
I recommend the Perl Testing: A Developers Handbook for really learning alot about writing tests
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Test::Class and test organization
by dragonchild (Archbishop) on Mar 21, 2006 at 18:42 UTC | |
by xdg (Monsignor) on Mar 22, 2006 at 03:15 UTC | |
by dragonchild (Archbishop) on Mar 22, 2006 at 03:51 UTC | |
by xdg (Monsignor) on Mar 22, 2006 at 05:54 UTC | |
by Herkum (Parson) on Mar 22, 2006 at 13:42 UTC | |
by dragonchild (Archbishop) on Mar 22, 2006 at 13:46 UTC | |
|
Re^2: Test::Class and test organization
by adrianh (Chancellor) on Mar 22, 2006 at 11:30 UTC |