VERSION
version 0.50SYNOPSIS
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
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. Test::BDD::Cucumber::TermColor is the default, but Test::BDD::Cucumber::TestBuilder is also a reasonable option:
pherkin -o TermColor some/path/feature # The default pherkin -o TestBuilder some/path/feature # Test::Builder-type text output
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 "[email protected]"LICENSE
Copyright 2012-2014, Peter Sergeant; Licensed under the same terms as Perl