---
name: "Perl::Critic::Policy::TestingAndDebugging::RequireTestLabels"
section: "3pm"
platform: "linux"
package: "perl-perl-critic"
version: "1.156-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Perl::Critic::Policy::TestingAndDebugging::RequireTestLabels"
---

# Perl::Critic::Policy::TestingAndDebugging::RequireTestLabels(3pm)

Tests should all have labels.

## NAME

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

## AFFILIATION

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

## DESCRIPTION

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).

## CONFIGURATION

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:

```
    [TestingAndDebugging::RequireTestLabels]
    modules = My::Test::SubClass  Some::Other::Module
```

The module list always implicitly includes Test::More.

## AUTHOR

Chris Dolan \<cdolan@cpan.org\>

## COPYRIGHT

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.
