package Test::BDD::Cucumber; 1; # CODE ENDS =head1 NAME Test::BDD::Cucumber - Feature-complete Cucumber-style testing in Perl =head1 SYNOPSIS # 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/ =head1 DESCRIPTION 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|https://github.com/cucumber/cucumber/blob/master/gherkin/CHANGELOG.md#6013---2018-09-25>, 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. =head1 GETTING STARTED 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> =back =begin html If you have problems getting started, you can talk to the author(s) here: <a href="https://gitter.im/pjlsergeant/test-bdd-cucumber-perl"><img src="https://badges.gitter.im/pjlsergeant/test-bdd-cucumber-perl.svg" alt="Chat on Gitter" ></a> =end html =head1 BUGS AND LIMITATIONS For current bugs, check the issue tracer at GitHub: L<https://github.com/pherkin/test-bdd-cucumber-perl/issues> 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|https://github.com/pherkin/test-bdd-cucumber-perl/issues/73> for tracking this topic. =back =head1 PROJECT RESOURCES =over 4 =item * Source code repository at L<https://github.com/pherkin/test-bdd-cucumber-perl> =item * Bug tracker at L<https://github.com/pherkin/test-bdd-cucumber-perl/issues> =item * Mailing list at L<mailto:perl-pherkin@googlegroups.com> =item * Chat (Gitter) at L<https://gitter.im/pjlsergeant/test-bdd-cucumber-perl> =item * Chat (IRC) at L<irc://irc.freenode.net/#perl> =item * Website at L<https://pherkin.pm> =back =head1 SEE ALSO L<Gherkin> - A Gherkin parser and compiler =head1 AUTHORS Peter Sergeant C<pete@clueball.com> Erik Huelsmann C<ehuels@gmail.com> Ben Rodgers C<ben@bdr.org> =head1 LICENSE Copyright 2019-2023, Erik Huelsmann Copyright 2011-2019, Peter Sergeant; Licensed under the same terms as Perl =cut