NAME

Test::CompanionClasses::Engine - Run tests defined in companion classes

VERSION

version 1.101370

SYNOPSIS

    use Test::CompanionClasses;
    Test::CompanionClasses->new->run_tests('...');

DESCRIPTION

This is the core of Test::CompanionClasses.

METHODS

run_tests

Actually runs the companion class tests.

Takes named arguments (as a hash). Recognized keys are:

filter

A reference to a list of strings that are interpreted as package filters. A companion test class is only run if the corresponding real class' package name matches this filter list.

exact

Works with filter. If this boolean flag is set, the real class name must match exactly, otherwise a substring match is sufficient.

Examples:

    Test::CompanionClasses->mk_new->run_tests(
        filter => [ qw/Foo::Bar Baz/ ]
    );

will run the companion tests of Foo::Bar, Baz but also Foo::Bar::Flurble, Bazzzz etc.

    Test::CompanionClasses->mk_new->run_tests(
        filter => [ qw/Foo::Bar Baz/ ]
        exact  => 1,
    );

will only run the companion tests of Foo::Bar and Baz.

lib

Sets the directory in and under which run_tests() is looking for test companion classes. Defaults to $Bin/../lib, where $Bin is the location of the program as determined by FindBin. This default is used because normally companion class tests will be run from a perl distribution's t/ directory.

inherited

You can also specify that other classes not found in lib should be tested. Use a reference to an array of class names as the value for inherited and those classes' companion tests will be run as well. The class names still have to match the filter, if one was specified.

This is useful if your distribution depends on another one which also has defined test companion classes. If your distribution changes the way these other test companion classes are working, you can inherit those tests to see whether they still work with your distribution.

INSTALLATION

See perlmodinstall for information and options on installing Perl modules.

BUGS AND LIMITATIONS

No bugs have been reported.

Please report any bugs or feature requests through the web interface at http://rt.cpan.org/Public/Dist/Display.html?Name=Test-CompanionClasses.

AVAILABILITY

The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit http://www.perl.com/CPAN/ to find a CPAN site near you, or see http://search.cpan.org/dist/Test-CompanionClasses/.

The development version lives at http://github.com/hanekomu/Test-CompanionClasses/. Instead of sending patches, please fork this project using the standard git and github infrastructure.

AUTHOR

  Marcel Gruenauer <marcel@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2007 by Marcel Gruenauer.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.