.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "PHERKIN 1p" .TH PHERKIN 1p "2016-05-03" "perl v5.22.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" pherkin \- Execute tests written using Test::BDD::Cucumber .SH "VERSION" .IX Header "VERSION" version 0.50 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& pherkin \& pherkin some/path/features/ .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\f(CW\*(C`pherkin\*(C'\fR accepts a single argument of a directory name, defaulting to \&\f(CW\*(C`./features/\*(C'\fR if none is specified. This directory is searched for feature files (any file matching \f(CW\*(C`*.feature\*(C'\fR) and step definition files (any file matching \f(CW\*(C`*_steps.pl\*(C'\fR). The step definitions are loaded, and then the features executed. .PP 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. .PP \&\f(CW\*(C`pherkin\*(C'\fR will exit with a non-zero status if (and only if) the overall result is considered to be failing. .SH "OPTIONS" .IX Header "OPTIONS" Controlling \f(CW@INC\fR .PP .Vb 3 \& \-l, \-\-lib Add \*(Aqlib\*(Aq to @INC \& \-b, \-\-blib Add \*(Aqblib/lib\*(Aq and \*(Aqblib/arch\*(Aq to @INC \& \-I [dir] Add given directory to @INC .Ve .PP Output formatting .PP .Vb 2 \& \-o, \-\-output Output harness. Defaults to \*(AqTermColor\*(Aq. See \*(AqOutputs\*(Aq \& \-c, \-\-theme Theme for \*(AqTermColor\*(Aq. \`light\` or \`dark\` (default) .Ve .PP Extra Steps .PP .Vb 2 \& \-s, \-\-steps [path] Include an extra step file, or directory of step files \& (as identified by *_steps.pl; multiple use accepted) .Ve .PP Tag specifications .PP .Vb 3 \& \-t, \-\-tags @tag Run scenarios tagged with \*(Aq@tag\*(Aq \& \-t, \-\-tags @tag1,@tag2 Run scenarios tagged with \*(Aq@tag1\*(Aq and \*(Aq@tag2\*(Aq \& \-t, \-\-tags ~@tag Run scenarios tagged without \*(Aq@tag\*(Aq .Ve .PP Configuration profiles (see \s-1CONFIGURATION PROFILES\s0 below/`man pherkin`) .PP .Vb 5 \& \-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 .Ve .PP Extensions .PP .Vb 3 \& \-e Extension::Module Load an extension. You can place a string in brackets at \& the end of the module name which will be eval\*(Aqd and \& passed to new() for the extension. .Ve .PP Help .PP .Vb 3 \& \-h, \-?, \-\-help Print usage information. \& \-\-i18n LANG List keywords for a particular language. \& \*(Aq\-\-i18n help\*(Aq lists all languages available. .Ve .SH "OUTPUTS" .IX Header "OUTPUTS" \&\f(CW\*(C`pherkin\*(C'\fR can output using any of the \f(CW\*(C`Test::BDD::Cucumber::Harness\*(C'\fR output modules. Test::BDD::Cucumber::TermColor is the default, but Test::BDD::Cucumber::TestBuilder is also a reasonable option: .PP .Vb 2 \& pherkin \-o TermColor some/path/feature # The default \& pherkin \-o TestBuilder some/path/feature # Test::Builder\-type text output .Ve .SH "CONFIGURATION PROFILES" .IX Header "CONFIGURATION PROFILES" You can specify sets of command line options using a \s-1YAML\s0 configuration file with named profiles in it, and the \f(CW\*(C`\-g, \-\-config\*(C'\fR and \f(CW\*(C`\-p, \-\-profile\*(C'\fR command line options. .PP If you don't specify a config file, the following paths are searched (in order) for one: .PP .Vb 6 \& (contents of $ENV{\*(AqPHERKIN_CONFIG\*(Aq}) \& .pherkin.yaml \& ./config/pherkin.yaml \& ./.config/pherkin.yaml \& t/.pherkin.yaml \& ~/.pherkin.yaml .Ve .PP The contents of each profile is merged in as if you'd specified it on the command line. \f(CW\*(C`default\*(C'\fR is used if you didn't specify one. For example: .PP .Vb 7 \& default: \& steps: \& \- foo/steps \& \- ~/steps \& output: TermColor \& tags: \& \- tag1,tag2 .Ve .PP is equivalent to: .PP .Vb 1 \& \-\-steps foo/steps \-\-steps ~/steps \-\-output TermColor \-\-tags tag1,tag2 .Ve .PP 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. .PP If you specify \f(CW\*(C`\-\-debug\-profile\*(C'\fR then information showing which profile is loaded and how is printed to \s-1STDOUT,\s0 and then `pherkin` terminates. .SS "\s-1EXTENSION CONFIGURATION\s0" .IX Subsection "EXTENSION CONFIGURATION" Extensions named in the \f(CW\*(C`extensions\*(C'\fR section of the configuration will be loaded with the configuration from the configuration file: .PP .Vb 11 \& 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: .Ve .PP 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'). .PP The example above is the equivalent of .PP .Vb 2 \& use Test::CucumberPush; \& use Test::CucumberPop; \& \& Test::CucumberPush\->new({ \*(Aqkey1\*(Aq => \*(Aqvalue1\*(Aq, \*(Aqkey2\*(Aq => \*(Aqvalue2\*(Aq }); \& Test::CucumberPop\->new(); .Ve .SH "AUTHOR" .IX Header "AUTHOR" Peter Sergeant \f(CW\*(C`pete@clueball.com\*(C'\fR .SH "LICENSE" .IX Header "LICENSE" Copyright 2012\-2014, Peter Sergeant; Licensed under the same terms as Perl