When
NAME
Test::Async::When - add :when key to plan
SYNOPSIS
Whole top suite:
use Test::Async <When Base>;
plan :when(<release>);
Or a subtest only:
use Test::Async <When Base>;
subtest "Might be skipped" => {
plan :when(
:all(
:any(<release author>),
:module<Optional::Module>));
...
}
}
This bundle extends plan with additional parameter :when which defines when the suite is to be actually ran. If
when condition is not fulfilled the suite is skipped. The condition is a nested combination of keys and values:
a string value means a name of a testing mode enabled with an environment variable. Simply put, it gets uppercased, appended with _TESTING and the resulting name is checked against
%*ENV. If the string is already ending with _TESTING it is used as-is.a pair with
envkey tests for a environment variable. The variable name is used as-is, with no manipulations done to it.a pair with
modulekey tests if a module with the given name is availablea pair with keys
anyorallbasically means that either any of it subcondition or all of them are to be fulfilleda pair with
nonekey means all of its sunconditions must fail.
By default the topmost condition means any, so that the following two statements are actually check the same
condition:
plan :when<release author>;
plan :when(:any<release author>);
SEE ALSO
AUTHOR
Vadim Belman <[email protected]>