Provided by: libtest-bdd-cucumber-perl_0.53-1_all bug

NAME

       Test::BDD::Cucumber::Manual::Architecture - Structural Overview

VERSION

       version 0.53

INTRODUCTION

       This short document exists to give you an idea how the different components of this
       distribution fit together.

MODELS

       The core of a Cucumber-based test suite are the feature files and the step definitions
       files. By convention, these are saved under "/features/" and "/features/step_definitions/"
       respectively.

       The feature files are encapsulated by the classes in "Test::BDD::Cucumber::Model".

                         one to one
        TBCM::Feature<----------------->TBCM::Document
             |                               |
             +-------------------+           |
             | has many          | has a     | has many
             V                   |           V
        TBCM::Scenario           +----->TBCM::Line
             |                            ^  ^
             +----------------------------+  |
             | has many                      |
             V                               |
        TBCM::Step---------------------------+

EXECUTOR

       We build up a Test::BDD::Cucumber::Executor object, in to which we load the step
       definitions. We then pass this in a Test::BDD::Cucumber::Model::Feature object, along with
       a Test::BDD::Cucumber::Model::Harness object, which controls interaction with the outside
       world.

EXTENSION

       Extensions allow hooking into the execution of the steps, with pre- and post hooks for
       steps, scenarios, features and the entire execution. Extensions can provide additional
       step directories from which steps will be made available. The feature and scenario stashes
       are passed to the extension hooks allowing for a means of communication between the hooks
       and the steps.

       Extensions - when loaded by the pherkin test executor - receive their configuration from
       the pherkin.yaml configuration file, which works similar to the configuration of
       extensions in Behat <http://docs.behat.org/en/v2.5/guides/7.config.html#extensions>.

       Note: when using extensions in combination with the "TAP::Parser::SourceHandler::Feature"
       plugin for "prove", there is no guarantee that the "pre_execute" and "post_execute" hooks
       execute exactly once or even execute at all.  This is a current limitation to be lifted in
       a future release.

AUTHOR

       Peter Sergeant "pete@clueball.com"

LICENSE

       Copyright 2011-2016, Peter Sergeant; Licensed under the same terms as Perl

perl v5.24.1                                2017-07Test::BDD::Cucumber::Manual::Architecture(3pm)