Provided by: libtest-bdd-cucumber-perl_0.67-1_all bug

NAME

       pherkin - Execute tests written using Test::BDD::Cucumber

VERSION

       version 0.67

SYNOPSIS

        pherkin
        pherkin some/path/features/

DESCRIPTION

       "pherkin" accepts a single argument of a directory name, defaulting to "./features/" if
       none is specified. This directory is searched for feature files (any file matching
       "*.feature") and step definition files (any file matching "*_steps.pl"). The step
       definitions are loaded, and then the features executed.

       Steps that pass are printed in green, those that fail in red, and those for which there is
       no step definition - or that are skipped as the result of a previous failure - as yellow.

       "pherkin" will exit with a non-zero status if (and only if) the overall result is
       considered to be failing.

OPTIONS

       Controlling @INC

        -l, --lib              Add 'lib' to @INC
        -b, --blib             Add 'blib/lib' and 'blib/arch' to @INC
        -I [dir]               Add given directory to @INC

       Controlling Execution

        -m, --match            Only match steps in from features with available ones
            --matching [mode]  Step function multiple matches behaviour:
                               `first` (default) selects first match, `relaxed` warns
                               and runs first match or `strict` stops execution

       Output formatting

        -o, --output           Output harness. Defaults to 'TermColor'. See 'Outputs'
        -c, --theme            Theme for 'TermColor'. `light` or `dark` (default)

       Extra Steps

         -s, --steps [path]    Include an extra step file, or directory of step files
                               (as identified by *_steps.pl; multiple use accepted)

       Tag specifications

        -t, --tags @tag        Run scenarios tagged with '@tag'
        -t, --tags @tag1,@tag2 Run scenarios tagged with '@tag1' and '@tag2'
        -t, --tags ~@tag       Run scenarios tagged without '@tag'

       Configuration profiles (see CONFIGURATION PROFILES below/`man pherkin`)

        -g, --config [path]    A YAML file containing configuration profiles
        -p, --profile [name]   Name of the profile to load from the above config file.
                               Defaults to `default`
        --debug-profile        Shows information about which profile was loaded and how
                               and then terminates

       Extensions

        -e Extension::Module   Load an extension. You can place a string in brackets at
                               the end of the module name which will be eval'd and
                               passed to new() for the extension.

       Help

        -h, -?, --help         Print usage information.
        --i18n LANG            List keywords for a particular language.
                               '--i18n help' lists all languages available.

OUTPUTS

       "pherkin" can output using any of the "Test::BDD::Cucumber::Harness" output modules.
       TermColor is the default, but TAP is also a reasonable option:

         pherkin -o TermColor some/path/feature   # The default
         pherkin -o TAP some/path/feature         # TAP text output (for e.g. prove)

CONFIGURATION PROFILES

       You can specify sets of command line options using a YAML configuration file with named
       profiles in it, and the "-g, --config" and "-p, --profile" command line options.

       If you don't specify a config file, the following paths are searched (in order) for one:

        (contents of $ENV{'PHERKIN_CONFIG'})
        .pherkin.yaml
        ./config/pherkin.yaml
        ./.config/pherkin.yaml
        t/.pherkin.yaml
        ~/.pherkin.yaml

       The contents of each profile is merged in as if you'd specified it on the command line.
       "default" is used if you didn't specify one. For example:

        default:
          steps:
            - foo/steps
            - ~/steps
          output: TermColor
          tags:
            - tag1,tag2

       is equivalent to:

         --steps foo/steps --steps ~/steps --output TermColor --tags tag1,tag2

       If you specify both command-line options, and options in a configuration file, then the
       command-line ones override single-value items, and are placed at the end of multi-item
       ones.

       If you specify "--debug-profile" then information showing which profile is loaded and how
       is printed to STDOUT, and then `pherkin` terminates.

   EXTENSION CONFIGURATION
       Extensions named in the "extensions" section of the configuration will be loaded with the
       configuration from the configuration file:

        default:
          includes:
             # include location where extensions reside on disk
             - t/lib
          extensions:
             # extension with configuration
             Test::CucumberPush:
                 key1: value1
                 key2: value2
             # extension without configuration
             Test::CucumberPop:

       Notice that contrary to all other configuration parameters, the names of the extensions
       are not prefixed with a dash (i.e. '- t/lib' vs 'Test::CucumberPush').

       The example above is the equivalent of

         use Test::CucumberPush;
         use Test::CucumberPop;

         Test::CucumberPush->new({ 'key1' => 'value1', 'key2' => 'value2' });
         Test::CucumberPop->new();

AUTHOR

       Peter Sergeant "pete@clueball.com"

LICENSE

       Copyright 2012-2014, Peter Sergeant; Licensed under the same terms as Perl