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
In reply to Re: Test::Class and test organization
by Herkum
in thread Test::Class and test organization
by dragonchild
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |