package Test::BDD::Cucumber::Harness; BEGIN { $Test::BDD::Cucumber::Harness::VERSION = '0.05'; } =head1 NAME Test::BDD::Cucumber::Harness - Base class for creating harnesses =head1 VERSION version 0.05 =head1 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 L and L for examples, although if you need to interact with the results in a more exciting way, you'd be best off interacting with L. =head1 METHODS / EVENTS =cut use strict; use warnings; use Moose; =head2 feature =head2 feature_done Called at the start and end of feature execution respectively. Both methods accept a single argument of a L. =cut sub feature { my ( $self, $feature ) = @_; } sub feature_done { my ( $self, $feature ) = @_; } =head2 scenario =head2 scenario_done Called at the start and end of scenario execution respectively. Both methods accept a L module and a dataset hash. =cut sub scenario { my ( $self, $scenario, $dataset ) = @_; } sub scenario_done { my ( $self, $scenario, $dataset ) = @_; } =head2 step =head2 step_done Called at the start and end of step execution respectively. Both methods accept a L object. C also accepts a L object. =cut sub step { my ( $self, $context ) = @_; } sub step_done { my ($self, $context, $result) = @_; } =head1 AUTHOR Peter Sergeant C =head1 LICENSE Copyright 2011, Peter Sergeant; Licensed under the same terms as Perl =cut 1;