The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.


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


version 0.86


   # 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 Test2, Test::More and prove.

The implementation supports the following Gherkin keywords in feature files: Feature, Scenario, Scenario Outline, Examples, Given, When, Then, And and But. Additionally, Scenario can be used as a synonym for Scenario Outline (with Examples). This best maps to Gherkin version 6.0.13, but without support for its new Rule and 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 real Cucumber, the plan is to move use the same parser and behaviour.


This module comes with a few introductory tutorials.

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


For current bugs, check the issue tracer at GitHub:

One thing need specific mentioning:

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

    Also see the issue for tracking this topic.



Gherkin - A Gherkin parser and compiler


Peter Sergeant

Erik Huelsmann

Ben Rodgers


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