.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" 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 .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Test::BDD::Cucumber::Executor 3pm" .TH Test::BDD::Cucumber::Executor 3pm "2014-10-09" "perl v5.20.1" "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" Test::BDD::Cucumber::Executor \- Run through Feature and Harness objects .SH "VERSION" .IX Header "VERSION" version 0.31 .SH "DESCRIPTION" .IX Header "DESCRIPTION" The Executor runs through Features, matching up the Step Lines with Step Definitions, and reporting on progress through the passed-in harness. .SH "METHODS" .IX Header "METHODS" .SS "steps" .IX Subsection "steps" .SS "add_steps" .IX Subsection "add_steps" The attributes \f(CW\*(C`steps\*(C'\fR is a hashref of arrayrefs, storing steps by their Verb. \&\f(CW\*(C`add_steps()\*(C'\fR takes step definitions of the item list form: .PP .Vb 3 \& ( \& [ Given => qr//, sub {} ], \& ), .Ve .PP and populates \f(CW\*(C`steps\*(C'\fR with them. .SS "execute" .IX Subsection "execute" Execute accepts a feature object, a harness object, and an optional Test::BDD::Cucumber::TagSpec object and for each scenario in the feature which meets the tag requirements (or all of them, if you haven't specified one), runs \f(CW\*(C`execute_scenario\*(C'\fR. .SS "execute_scenario" .IX Subsection "execute_scenario" Accepts a hashref of options, and executes each step in a scenario. Options: .PP \&\f(CW\*(C`feature\*(C'\fR \- A Test::BDD::Cucumber::Model::Feature object .PP \&\f(CW\*(C`feature_stash\*(C'\fR \- A hashref that should live the lifetime of feature execution .PP \&\f(CW\*(C`harness\*(C'\fR \- A Test::BDD::Cucumber::Harness subclass object .PP \&\f(CW\*(C`scenario\*(C'\fR \- A Test::BDD::Cucumber::Model::Scenario object .PP \&\f(CW\*(C`background_obj\*(C'\fR \- An optional Test::BDD::Cucumber::Model::Scenario object representing the Background .PP \&\f(CW\*(C`scenario_stash\*(C'\fR \- We'll create a new scenario stash unless you've posted one in. This is used exclusively for giving Background sections access to the same stash as the scenario they're running before. .PP For each step, a Test::BDD::Cucumber::StepContext object is created, and passed to \f(CW\*(C`dispatch()\*(C'\fR. Nothing is returned \- everything is played back through the Harness interface. .SS "add_placeholders" .IX Subsection "add_placeholders" Accepts a text string and a hashref, and replaces \f(CW\*(C` with the values in the hashref, returning a string. .SS "find_and_dispatch" .IX Subsection "find_and_dispatch" Accepts a Test::BDD::Cucumber::StepContext object, and searches through the steps that have been added to the executor object, executing against the first matching one. .PP You can also pass in a boolean 'short\-circuit' flag if the Scenario's remaining steps should be skipped. .SS "dispatch" .IX Subsection "dispatch" Accepts a Test::BDD::Cucumber::StepContext object, and a Test::BDD::Cucumber::Step object and executes it. .PP You can also pass in a boolean 'short\-circuit' flag if the Scenario's remaining steps should be skipped. .SS "skip_step" .IX Subsection "skip_step" Accepts a step-context, a result-type, and a textual reason, exercises the Harness's step start and step_done methods, and returns a skipped-test result. .SH "AUTHOR" .IX Header "AUTHOR" Peter Sergeant \f(CW\*(C`pete@clueball.com\*(C'\fR .SH "LICENSE" .IX Header "LICENSE" Copyright 2011\-2014, Peter Sergeant; Licensed under the same terms as Perl