Files
2026-03-10 20:42:54 -07:00

937 B

paths
paths
**/*.pl
**/*.pm
**/*.t
**/*.psgi
**/*.cgi

Perl Testing

This file extends common/testing.md with Perl-specific content.

Framework

Use Test2::V0 for new projects (not Test::More):

use Test2::V0;

is($result, 42, 'answer is correct');

done_testing;

Runner

prove -l t/              # adds lib/ to @INC
prove -lr -j8 t/         # recursive, 8 parallel jobs

Always use -l to ensure lib/ is on @INC.

Coverage

Use Devel::Cover — target 80%+:

cover -test

Mocking

  • Test::MockModule — mock methods on existing modules
  • Test::MockObject — create test doubles from scratch

Pitfalls

  • Always end test files with done_testing
  • Never forget the -l flag with prove

Reference

See skill: perl-testing for detailed Perl TDD patterns with Test2::V0, prove, and Devel::Cover.