NAME
Kernel::Test::Role::IsTestCase::Sequential – role for endpoint tests
PUBLIC INTERFACE
has 'TestSteps'
Attribute that holds the sequential test cases, which will be provided with the builder. The builder (Tests) needs to be defined in the single test file like described.
requires BuildTestSteps()
The usage of the role requires a BuildTestSteps function which provides a list of test cases with the following structure:
return (
{
Name => 'Example test case name',
PreTestStepFunction => sub {}, # optional, will receive $Self as first argument
PreTestStepFunction => { # optional
Name => 'FunctionName'
Params => {},
},
PostTestStepFunction => sub {}, # optional, will receive $Self as first argument
PostTestStepFunction => { # optional
Name => 'FunctionName'
Params => {},
},
Data => {},
ExpectedResult => {},
},
);
Every test case should provide a Name and when possible a Data and ExpectedResult key. It's also possible to provide a function (PreTestStepFunction) which will be executed before the test case. You can directly define a function or a name from a function in the test file (and some params for the function). Same goes for PostTestStepFunction which can be used for a cleanup between the two test steps.
requires RunTestStep()
The usage of the role requires a RunTestStep function in the test file. In the function the execution of a single test case needs to be defined. The function gets the complete test case data.
Run()
In a sequential test the run will be automatically executed for the defined test cases. It's possible to define a pre test case function which will be executed before a test case.
