In my last steps to become a "real tester" I've been throwing in some POD tests to make sure I have all my subs documented.
Test::Pod::Coverage is of course the tool of choice, but I think I'm misusing
all_pod_coverage_ok (or
all_modules.
I'm not trying to test a distribution (in the strictest sense of the word), but I am trying to test a collection of database-interaction modules.
my first thought, since this isn't a packaged dist, was to use all_modules( $dir );, but that gives me:
[me@2 t]$ prove -v 900_pod_coverage.t
900_pod_coverage....Undefined subroutine &main::all_modules called at
+900_pod_coverage.t line 9.
but the code is very straightforward, or so i thought:
# -*- perl -*-
# t/900_pod_coverage.t - check POD coverage for new modules
use Test::Pod::Coverage; # tests => 1;
use lib qw# /home/httpd/path/to/my/plugins/ #;
my $dir = q{/home/httpd/path/to/my/plugins/};
## also tried the commented out ...
# my @moduleList = all_modules( 'DataClasses' );
my @moduleList = all_modules( $dir );
foreach my $mod ( @moduleList ) {
pod_coverage_ok( $mod, 'reporting code is documented' );
}
I must be missing something obvious. Sure, I could switch over to something like
readdir() ... At this point, I want to know if I'm way of the path of the module's intentions, since the perldoc isn't too descriptive.