Files
everything-claude-code/rules/perl/testing.md
Necip Sunmaz ae5c9243c9 feat: add Perl language rules and update documentation
Add rules/perl/ with 5 rule files (coding-style, testing, patterns,
  hooks, security) following the same structure as existing languages.
  Update README.md, README.zh-CN.md, and rules/README.md to document
  Perl support including badges, directory trees, install instructions,
  and rule counts.
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.