---
name: "Test2::Harness::Settings"
section: "3pm"
platform: "linux"
package: "libtest2-harness-perl"
version: "1.000158-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Test2::Harness::Settings"
---

# Test2::Harness::Settings(3pm)

Configuration settings for Test2::Harness.

## NAME

Test2::Harness::Settings - Configuration settings for Test2::Harness.

## DESCRIPTION

This module represents the options provided at the command line. Each option has a prefix, and each prefix can be accessed from the settings.

## SYNOPSIS

```
    # You will rarely if ever need to construct settings yourself, usually a
    # component of Test2::Harness will expose them to you.
    my $settings = $thing->settings;
    # All prefixes have a method generated for them via AUTOLOAD
    my $display = $settings->display;
    # You can also use the prefix method
    my $display = $settings->prefix('display');
    # The prefix can be used in a similar way
    my $verbose = $settings->display->verbose;
```

See Test2::Harness::Settings::Prefix for more details on how to use the prefixes.

## METHODS

Note that any prefix that does not conflict with the predefined methods can be accessed via AUTOLOAD generating the methods as needed.

- $settings-\>define\_prefix($prefix\_name)

  This is used to create a prefix.

- $bool = $settings-\>check\_prefix($prefix\_name)

  This is used to check if a prefix is defined or not.

- $prefix = $settings-\>prefix($prefix\_name)

  - $prefix = $settings-\>$prefix\_name

  This will retrieve a prefix if it exists. If the prefix is not defined this will throw an exception. If you are unsure if a prefix exists use `"$settings-"`check\_prefix($prefix\_name)\>.

- $thing = $settings-\>build($prefix\_name, $class, @args)

  This will create an instance of `$class` passing the key/value pairs from the specified prefix as arguments. Additional arguments can be provided in `@args`.

- $hashref = $settings-\>**TO\_JSON()**

  This method allows settings to be serialized into JSON.

## SOURCE

The source code repository for Test2-Harness can be found at *http://github.com/Test-More/Test2-Harness/*.

## MAINTAINERS

- Chad Granum \<exodist@cpan.org\>

  ## AUTHORS

- Chad Granum \<exodist@cpan.org\>

  ## COPYRIGHT

Copyright 2020 Chad Granum \<exodist7@gmail.com\>.

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

See *http://dev.perl.org/licenses/*
