test::bdd::cucumber::harness(3pm) [debian man page]
Test::BDD::Cucumber::Harness(3pm) User Contributed Perl Documentation Test::BDD::Cucumber::Harness(3pm)NAME
Test::BDD::Cucumber::Harness - Base class for creating harnesses
VERSION
version 0.11
DESCRIPTION
Harnesses allow your feature files to be executed while telling the outside world about how the testing is going, and what's being tested.
This is a base class for creating new harnesses. You can see Test::BDD::Cucumber::Harness::TermColor and
Test::BDD::Cucumber::Harness::TestBuilder for examples, although if you need to interact with the results in a more exciting way, you'd be
best off interacting with Test::BDD::Cucumber::Harness::Data.
METHODS / EVENTS
feature
feature_done
Called at the start and end of feature execution respectively. Both methods accept a single argument of a
Test::BDD::Cucumber::Model::Feature.
background
background_done
If you have a background section, then we execute it as a quasi-scenario step before each scenario. These hooks are fired before and after
that, and passed in the Test::BDD::Cucmber::Model::Scenario that represents the Background section, and a a dataset hash (although why
would you use that?)
scenario
scenario_done
Called at the start and end of scenario execution respectively. Both methods accept a Test::BDD::Cucmber::Model::Scenario module and a
dataset hash.
step
step_done
Called at the start and end of step execution respectively. Both methods accept a Test::BDD::Cucmber::StepConcept object. "step_done" also
accepts a Test::BDD::Cucumber::Model::Result object.
AUTHOR
Peter Sergeant "pete@clueball.com"
LICENSE
Copyright 2011, Peter Sergeant; Licensed under the same terms as Perl
perl v5.14.2 2012-05-20 Test::BDD::Cucumber::Harness(3pm)
Check Out this Related Man Page
Test::BDD::Cucumber::Executor(3pm) User Contributed Perl Documentation Test::BDD::Cucumber::Executor(3pm)NAME
Test::BDD::Cucumber::Executor - Run through Feature and Harness objects
VERSION
version 0.11
DESCRIPTION
The Executor runs through Features, matching up the Step Lines with Step Definitions, and reporting on progress through the passed-in
harness.
METHODS
steps
add_steps
The attributes "steps" is a hashref of arrayrefs, storing steps by their Verb. "add_steps()" takes step definitions of the item list form:
(
[ Given => qr//, sub {} ],
),
and populates "steps" with them.
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 "execute_scenario".
execute_scenario
Accepts a hashref of options, and executes each step in a scenario. Options:
"feature" - A Test::BDD::Cucumber::Model::Feature object
"feature_stash" - A hashref that should live the lifetime of feature execution
"harness" - A Test::BDD::Cucumber::Harness subclass object
"scenario" - A Test::BDD::Cucumber::Model::Scenario object
"background_obj" - An optional Test::BDD::Cucumber::Model::Scenario object representing the Background
"scenario_stash" - 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.
For each step, a Test::BDD::Cucumber::StepContext object is created, and passed to "dispatch()". Nothing is returned - everything is played
back through the Harness interface.
add_placeholders
Accepts a text string and a hashref, and replaces " <placeholders" > with the values in the hashref, returning a string.
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.
You can also pass in a boolean 'short-circuit' flag if the Scenario's remaining steps should be skipped.
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.
AUTHOR
Peter Sergeant "pete@clueball.com"
LICENSE
Copyright 2011, Peter Sergeant; Licensed under the same terms as Perl
perl v5.14.2 2012-05-20 Test::BDD::Cucumber::Executor(3pm)