The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.


Perl::Critic::Policy::TestingAndDebugging::RequireTestLabels - Tests should all have labels.


This Policy is part of the core Perl::Critic distribution.


Most Perl modules with regression tests use Test::More as infrastructure for writing and running those tests. It has an easy, procedural syntax for writing comparisons of results to expectations.

Most of the Test::More functions allow the programmer to add an optional label that describes what each test is trying to judge. When a test goes wrong, these labels are very useful for quickly determining where the problem originated.

This policy enforces that all Test::More functions have labels where applicable. This only applies to code that has a use Test::More or require Test::More declaration (see below to add more test modules to the list).


A list of additional modules to require label parameters be passed to their methods can be specified with the modules option. The list must consist of whitespace-delimited, fully-qualified module names. For example:

    modules = My::Test::SubClass  Some::Other::Module

The module list always implicitly includes Test::More.


Chris Dolan <>


Copyright (c) 2006-2021 Chris Dolan.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.