package Test::BDD::Cucumber;
$Test::BDD::Cucumber::VERSION = '0.83';
use strict;
use warnings;


=head1 NAME

Test::BDD::Cucumber - Feature-complete Cucumber-style testing in Perl

=head1 VERSION

version 0.83


   # Driving tests using the 'pherkin' binary that comes with the distribution
   $ pherkin -l -b t/

   # Or choose a subset of tests to be run by selecting all scenarios tagged 'slow'
   $ pherkin -l -b --tags @slow t/

   # Or all those /not/ tagged 'slow'
   $ pherkin -l -b --tags ~@slow

   # Fail on missing steps (by default prints as orange output and succeeds tests)
   $ pherkin -l -b --strict t/

   # Driving tests using 'prove' integration
   $ prove --source Feature --ext=.feature examples/

   # Driving parallel tests using 'prove'
   $ prove -r --source Feature -j 9 --ext=.feature t/


Cucumber for Perl, integrated with L<Test2>, L<Test::More> and L<prove>.

The implementation supports the following Gherkin keywords in feature files:
C<Feature>, C<Scenario>, C<Scenario Outline>, C<Examples>, C<Given>, C<When>,
C<Then>, C<And> and C<But>. Additionally, C<Scenario> can be used as a synonym
for C<Scenario Outline> (with C<Examples>). This best maps to
L<Gherkin version 6.0.13|>,
but without support for its new C<Rule> and C<Example> keywords.

This implementation supports the same languages as Gherkin 15.0.0 - that is, it
supports exactly the same translated keywords.

Behaviour of this module is similar to that, but sometimes different from
the I<real> Cucumber, the plan is to move use the same parser and behaviour.


This module comes with a few introductory tutorials.

=over 4

=item * L<A Cucumber feature writing tutorial|Test::BDD::Cucumber::Manual::Tutorial>

for those new to Cucumber and BDD testing

=item * L<A Step writing tutorial|Test::BDD::Cucumber::Manual::Steps>

to get you started writing the code run for each C<Given>, C<Then>, C<When> step

=item * L<A guide on integrating with your test suite|Test::BDD::Cucumber::Manual::Integration>

=item * L<An architecture overview|Test::BDD::Cucumber::Manual::Architecture>

for those who want to extend or hook into feature file execution

=item * Documentation of the command-line tool L<App::pherkin>


=begin html

If you have problems getting started, you can talk to the author(s) here: <a
    alt="Chat on Gitter"

=end html


For current bugs, check the issue tracer at GitHub:

One thing need specific mentioning:

=over 4

=item * Due to the use of its own parser, differences probably exist
in the interpretation of feature files when comparing to Cucumber.

Also L<see the issue|> for
tracking this topic.



=over 4

=item * Source code repository at L<>

=item * Bug tracker at L<>

=item * Mailing list at L<>

=item * Chat (Gitter) at L<>

=item * Chat (IRC) at L<irc://>

=item * Website at L<>


=head1 SEE ALSO

L<Gherkin> - A Gherkin parser and compiler

=head1 AUTHORS

Peter Sergeant C<>

Erik Huelsmann C<>

Ben Rodgers C<>

=head1 LICENSE

  Copyright 2019-2021, Erik Huelsmann
  Copyright 2011-2019, Peter Sergeant; Licensed under the same terms as Perl