Test::...ucumber(3pm)

πŸ“¦
version 0.87 Β· 4 versions
, in debian trixie, ubuntu resolute, ubuntu stonking

πŸ‘‘ Test::...ucumber β€” the manual page, bestie edition πŸ’…

okay so real quick, the actual page title is Test::...ucumber(3pm) and it lives in the User Contributed Perl Documentation section. That's the header, we're not copying it line-for-line, we're folding it in like a cute little name tag. periodt. ✨


🌸 NAME 🌸

Test::BDD::Cucumber β€” Feature-complete Cucumber-style testing in Perl. no cap, the whole vibe is "write your tests in plain English-ish sentences and let Perl do the heavy lifting". iconic. πŸ₯’


⭐ VERSION ⭐

version 0.87 πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

okay bestie here's the whole rundown, every single line, verbatim, don't touch anything:

   # 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/

look at all those options slaying. πŸ”₯


✨ DESCRIPTION ✨

It's Cucumber for Perl, and it's all integrated with Test2, Test::More and prove. the friend group is solid. 🫢

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). That maps best to Gherkin version 6.0.13 <https://github.com/cucumber/cucumber/blob/master/gherkin/CHANGELOG.md#6013---2018-09-25> β€” but heads up, it does not support that version's new Rule and Example keywords. not me being the one to break the news 😭

This implementation supports the same languages as Gherkin 15.0.0 β€” that is, it supports exactly the same translated keywords. multilingual queen behavior 🌈

Behaviour of this module is similar to that of the real Cucumber, but sometimes different β€” and the plan is to move to using the same parser and behaviour. iykyk. πŸ‘€


πŸ¦‹ GETTING STARTED πŸ¦‹

This module comes with a few introductory tutorials, and they're genuinely cute:

  • A Cucumber feature writing tutorial β€” for those new to Cucumber and BDD testing πŸ“
  • A Step writing tutorial β€” to get you started writing the code run for each Given, Then, When step ✏️
  • A guide on integrating with your test suite 🧩
  • An architecture overview β€” for those who want to extend or hook into feature file execution πŸ—οΈ
  • Documentation of the command-line tool App::pherkin πŸ“–

πŸ’€ BUGS AND LIMITATIONS πŸ’€

For current bugs, check the issue tracker at GitHub: <https://github.com/pherkin/test-bdd-cucumber-perl/issues> πŸ›

One thing needs specific mentioning (their words, and honestly it's important):

  • 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 <https://github.com/pherkin/test-bdd-cucumber-perl/issues/73> for tracking this topic. πŸ‘‘

lowkey the "we have our own parser" thing is the whole plot twist. just so you know fr fr.

🌈 PROJECT RESOURCES 🌈


πŸ‘€ SEE ALSO πŸ‘€

  • Gherkin β€” A Gherkin parser and compiler πŸ₯’βœ¨

πŸ’– AUTHORS πŸ’–

  • Peter Sergeant pete@clueball.com
  • Erik Huelsmann ehuels@gmail.com
  • Ben Rodgers ben@bdr.org

three icons, one module. main character energy from all of them πŸ«ΆπŸ‘‘


πŸ“œ LICENSE πŸ“œ

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

and that's the whole page bestie!! πŸŽ€ this one's from perl v5.40.1, dated 2025-05-29, and the manual page is Test::...ucumber(3pm). go write some features, you're gonna eat πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from