Test::AllModules - do some tests for modules in search path

NAME  SYNOPSIS  DESCRIPTION  EXPORTED FUNCTIONS  all_ok(%args)  EXAMPLES  REPOSITORY  AUTHOR  SEE ALSO  LICENSE 

NAME

Test::AllModules − do some tests for modules in search path

SYNOPSIS

use Test::AllModules;
all_ok(
search_path => 'MyApp',
use => 1,
);

Here is also same as above

use Test::AllModules;
all_ok(
search_path => 'MyApp',
check => sub {
my $class = shift;
eval "use $class;1;";
},
);

DESCRIPTION

Test::AllModules is do some tests for all modules in search path.

EXPORTED FUNCTIONS

all_ok(%args)

do check(s) code as Test::More::ok() for every module in search path.

search_path => ’Class’

A namespace to look in. see: Module::Pluggable::Object

use => boolean

If this option sets true value then do a load module("use") test.

This parameter is optional.

require => boolean

If this option sets true value then do a load module("require") test.

This parameter is optional.

no_import => boolean

If this option sets true value then do not import any function when a test module is loaded.

This parameter is optional.

check => \&test_code_ref or hash( TEST_NAME => \&test_code_ref )

checks => \@array: include hash( TEST_NAME => \&test_code_ref )

The code to execute each module. The code receives $class and $count. The result from the code will be passed to Test::More::ok(). So, test codes must return true value if test is OK.

except => \@array: include scalar or qr//

Ignore modules.

This parameter is optional.

lib => \@array

Additional library paths.

This parameter is optional.

fork => 1:fork, 2:fork and show PID

If this option was set a value(1 or 2) then each check-code executes after forking.

This parameter is optional.

NOTE that this "fork" option is NOT supported in Windows system.

shuffle => boolean

If this option was set the true value then modules will be sorted in random order.

This parameter is optional.

show_version => boolean

If this option was set the true value then the version of module will be shown if it’s possible.

This parameter is optional.

before_hook => code ref

This code ref executes before test.

before_hook => sub {
my ($test_code, $class, $count) = @_;
# ... do something ...
return;
},

NOTE that if you return true value from before_hook, then the test will skip.

This parameter is optional.

after_hook => code ref

This code ref executes after test.

after_hook => sub {
my ($ret, $test_code, $class, $count) = @_;
# ... do something ...
},

This parameter is optional.

EXAMPLES

If you need the name of test, then you can use check parameter: "check =" { test_name => sub { ’test’ } }>

use Test::AllModules;
all_ok(
search_path => 'MyApp',
check => +{
'use_ok' => sub {
my ($class, $test_count) = @_;
eval "use $class;1;";
},
},
);

more tests, all options

use Test::AllModules;
all_ok(
search_path => 'MyApp',
use => 1,
require => 1,
checks => [
+{
'use_ok' => sub {
my $class = shift;
eval "use $class; 1;";
},
},
],
except => [
'MyApp::Role',
qr/MyApp::Exclude::.*/,
],
lib => [
'lib',
't/lib',
],
shuffle => 1,
fork => 1,
no_import => 1,
);

REPOSITORY

Test::AllModules is hosted on github <http://github.com/bayashi/Test−AllModules>

AUTHOR

dann

Dai Okabayashi <[email protected]>

SEE ALSO

Test::LoadAllModules

LICENSE

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.


Updated 2024-01-29 - jenkler.se | uex.se