SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

BotDetect - Real-Time Bot Detection API
 
 

MAN page from Fedora 26 perl-Test2-Workflow-0.000018-2.fc26.noarch.rpm

Test2::Workflow

Section: User Contributed Perl Documentation (3)
Updated: 2017-02-01
Index 

NAME

Test2::Workflow - A test workflow is a way of structuring tests usingcomposable units. 

DESCRIPTION

A test workflow is a way of structuring tests using composable units. A wellknown example of a test workflow is RSPEC <http://rspec.info/>. RSPEC isimplemented using Test2::Workflow in Test2::Tools::Spec along with severalextensions. 

IMPORTANT CONCEPTS

 

BUILD

Test2::Workflow::Build

A Build is used to compose tasks. Usually a build object is pushed to the stackbefore running code that adds tasks to the build. Once the build sub iscomplete the build is popped and returned. Usually a build is converted into aroot task or task group. 

RUNNER

Test2::Workflow::Runner

A runner takes the composed tasks and executes them in the proper order. 

TASK

Test2::Workflow::Task

A task is a unit of work to accomplish. There are 2 main types of task.

ACTION

An action is the most simple unit used in composition. An action is essentiallya name and a codeblock to run.

GROUP

A group is a task that is composed of other tasks. 

EXPORTS

All exports are optional, you must request the ones you want.
$parsed = parse_args(args => \@args)
$parsed = parse_args(args => \@args, level => $L)
$parsed = parse_args(args => \@args, caller => [caller($L)])
This will parse a ``typical'' task builers arguments. The @args array MUSTcontain a name (plain scalar containing text) and also a single CODE reference.The @args array MAY also contain any quantity of line numbers or hashrefs.The resulting data structure will be a single hashref with all the providedhashrefs squashed together, and the 'name', 'code', 'lines' and 'frame' keysset from other arguments.

    {        # All hashrefs from @args get squashed together:        %squashed_input_hashref_data,        # @args must have exactly 1 plaintext scalar that is not a number, it        # is considered the name:        name => 'name from input args'        # Integer values are treated as line numbers        lines => [ 35, 44 ],        # Exactly 1 coderef must be provided in @args:        code => \&some_code,        # 'frame' contains the 'caller' data. This may be passed in directly,        # obtained from the 'level' parameter, or automatically deduced.        frame => ['A::Package', 'a_file.pm', 42, ...],    }
$build = init_root($pkg, %args)
This will initialize (or return the existing) a build for the specifiedpackage. %args get passed into the Test2::Workflow::Build constructor.This uses the following defaults (which can be overridden using %args):

    name    => $pkg,    flat    => 1,    iso     => 0,    async   => 0,    is_root => 1,

Note that %args is completely ignored if the package build has already beeninitialized.

$build = root_build($pkg)
This will return the root build for the specified package.
$build = current_build()
This will return the build cuurently at the top of the build stack (or undef).
$build = build($name, \%params, sub { ... })
This will push a new build object onto the build stash then run the providedcodeblock. Once the codeblock has finished running the build will be popped offthe stack and returned.

See "parse_args()" for details about argument processing.

 

SEE ALSO

Test2::Tools::Spec
Test2::Tools::Spec is an implementation of RSPEC using this library.
 

SOURCE

The source code repository for Test2-Workflow can be found athttp://github.com/Test-More/Test2-Workflow/. 

MAINTAINERS

Chad Granum <exodistAATTcpan.org>
 

AUTHORS

Chad Granum <exodistAATTcpan.org>
 

COPYRIGHT

Copyright 2016 Chad Granum <exodist7AATTgmail.com>.

This program is free software; you can redistribute it and/ormodify it under the same terms as Perl itself.

See http://dev.perl.org/licenses/


 

Index

NAME
DESCRIPTION
IMPORTANT CONCEPTS
BUILD
RUNNER
TASK
EXPORTS
SEE ALSO
SOURCE
MAINTAINERS
AUTHORS
COPYRIGHT

This document was created byman2html,using the manual pages.
 
ICM Bot detect detector