Test coverage report example
examples/cover/lib/MyMath.pm
package MyMath; use strict; use warnings; use Exporter qw(import); our @EXPORT_OK = qw(add div fibo abs); our $VERSION = '0.02'; =head1 NAME MyMath - some tools to show test coverage =head1 SYNOPSIS Short example =head2 add Some docs =cut sub add { return $_[0] + $_[1]; } sub abs { my ($num) = @_; if ($num < 0) { return -$num; } return $num; } sub fibo { my ($n) = @_; return $n if $n == 0 or $n == 1; my @fib = (0, 1); for (2..$n) { push @fib, $fib[-1] + shift @fib; } return $fib[-1]; } sub div { return $_[0] / $_[1]; } 1;
examples/cover/t/test.t
use strict; use warnings; use Test::More 'no_plan'; use MyMath qw(add div fibo abs); is(add(2, 3), 5); #is(abs(-2), 2); #is(abs(2), 2); #is(fibo(0), 0); #is(fibo(1), 1); #is(fibo(2), 1); #is(div(6, 3), 2); #is(div(6, 0), 0);
examples/cover/Makefile.PL
use strict; use warnings; use ExtUtils::MakeMaker; WriteMakefile ( NAME => 'MyMath', VERSION_FROM => 'lib/MyMath.pm', LICENSE => 'perl', PREREQ_PM => { 'Exporter' => '0', }, TEST_REQUIRES => { 'Test::Simple' => '1.00', }, );