The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

NAME

Test::BDD::Cucumber::StepFile - Functions for creating and loading Step Definitions

VERSION

version 0.86

DESCRIPTION

Provides the Given/When/Then functions, and a method for loading Step Definition files and returning the steps.

SYNOPSIS

Defining steps:

#!perl
use strict; use warnings; use Test::More;
# or: use strict; use warnings; use Test2::V0;
Given 'something', sub { print "YEAH!" }
When qr/smooooth (\d+)/, sub { print "YEEEHAH $1" }
Then qr/something (else)/, sub { S->{'match'} = $1 }
Step qr/die now/, sub { die "now" }
Transform qr/^(\d+)$/, sub { int $1 }
Before sub { setup_db() }
After sub { teardown() }

Loading steps, in a different file:

my @steps = Test::BDD::Cucumber::StepFile->load('filename_steps.pl');

EXPORTED FUNCTIONS

Given

When

Then

Step

Transform

Before

After

Accept a regular expression or string, and a coderef. Some cute tricks ensure that when you call the load() method on a file with these statements in, these are returned to it...

C

S

Return the context and the Scenario stash, respectively, but only when called inside a step definition.

load

Loads a file containing step definitions, and returns a list of the steps defined in it, of the form:

(
[ 'Given', qr/abc/, sub { etc } ],
[ 'Step', 'asdf', sub { etc } ]
)

AUTHOR

Peter Sergeant pete@clueball.com

LICENSE

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