Some-Module/ Changes Makefile.PL MANIFEST MANIFEST.SKIP lib/ Some/ Module.pm README t/ *.t test files here #### #!perl -T use strict; use warnings; use Test::More tests => 1; BEGIN { use_ok('Some::Module') } diag "Testing Some::Module $Some::Module::VERSION"; #### #!perl -T use strict; use warnings; use Test::More tests => 3; use Some::Module; my $sm; my $eval_ok = 0; eval { $sm = Some::Module::->new(); 1; } && do { $eval_ok = 1; }; is($eval_ok, 1, 'Test eval OK'); is(defined $sm, 1, 'Test Some::Module object defined'); isa_ok($sm, 'Some::Module'); #### #!perl -T use strict; use warnings; use Test::More tests => N; use Some::Module; { # Isolate tests with one set of arguments my $sm = Some::Module::->new(...); my @args = (...); is($sm->meth(@args), ... } { # Isolate tests with a different set of arguments my $sm = Some::Module::->new(...); my @args = (...); is($sm->meth(@args), ... } #### #!perl -T use 5.032; use warnings; use Test::More; BEGIN { if (! $ENV{CPAN_AUTHOR_TEST}) { plan skip_all => 'Author test: $ENV{CPAN_AUTHOR_TEST} false.'; } } eval { use Test::Pod 1.52; 1; } or do { plan skip_all => 'Test::Pod 1.52 required.'; }; all_pod_files_ok(); #### #!perl -T use 5.032; use warnings; use Test::More; BEGIN { if (! $ENV{CPAN_AUTHOR_TEST}) { plan skip_all => 'Author test: $ENV{CPAN_AUTHOR_TEST} false.'; } } eval { use Test::Pod::Coverage 1.10; 1; } or do { plan skip_all => 'Test::Pod::Coverage 1.10 required.'; }; all_pod_coverage_ok(); #### #!perl use 5.032; use warnings; use Test::More; BEGIN { if (! $ENV{CPAN_AUTHOR_TEST}) { plan skip_all => 'Author test: $ENV{CPAN_AUTHOR_TEST} false.'; } } eval { use ExtUtils::Manifest 1.72 qw{manicheck filecheck}; 1; } or do { plan skip_all => 'ExtUtils::Manifest 1.72 required.'; }; plan tests => 2; is_deeply([manicheck()], [], 'Check files in "MANIFEST" exist.'); is_deeply([filecheck()], [], 'Check for files not in "MANIFEST" or "MANIFEST.SKIP".');