RunBefore
extends Extension
in package
Extension for execution of some processes before running tests.
Processes can be independent and dependent. Independent processes run independently of each other. Dependent processes run sequentially one by one.
Can be configured in suite config:
# acceptance.suite.yml
extensions:
enabled:
- Codeception\Extension\RunBefore:
- independent_process_1
-
- dependent_process_1_1
- dependent_process_1_2
- independent_process_2
-
- dependent_process_2_1
- dependent_process_2_2
HINT: you can use different configurations per environment.
Table of Contents
Properties
- $config : mixed
- $events : mixed
- $globalConfig : mixed
- $options : mixed
- $output : mixed
- $modules : mixed
- $processes : array<string|int, array<string|int, mixed>>
Methods
- __construct() : mixed
- _initialize() : mixed
- You can do all preparations here. No need to override constructor.
- _reconfigure() : mixed
- Pass config variables that should be injected into global config.
- getCurrentModuleNames() : mixed
- getDataDir() : mixed
- getGlobalConfig() : mixed
- getLogDir() : mixed
- getModule() : mixed
- getRootDir() : mixed
- getSubscribedEvents() : array<string, string|array{0: string, 1: int}|array<int, array{0: string, 1?: int}>>
- Returns an array of event names this subscriber wants to listen to.
- getTestsDir() : mixed
- hasModule() : mixed
- receiveModuleContainer() : mixed
- runBefore() : mixed
- write() : mixed
- writeln() : mixed
- addProcessToMonitoring() : mixed
- checkProcesses() : mixed
- isRunning() : mixed
- processMonitoring() : mixed
- removeProcessFromMonitoring() : mixed
- runFollowingCommand() : mixed
- runProcess() : Process
- runProcesses() : mixed
Properties
$config
protected
mixed
$config
= []
$events
protected
static mixed
$events
= [\Codeception\Events::SUITE_BEFORE => 'runBefore']
$globalConfig
protected
mixed
$globalConfig
$options
protected
mixed
$options
$output
protected
mixed
$output
$modules
private
mixed
$modules
= []
$processes
private
array<string|int, array<string|int, mixed>>
$processes
= []
Methods
__construct()
public
__construct(mixed $config, mixed $options) : mixed
Parameters
- $config : mixed
- $options : mixed
_initialize()
You can do all preparations here. No need to override constructor.
public
_initialize() : mixed
Also you can skip calling _reconfigure
if you don't need to.
_reconfigure()
Pass config variables that should be injected into global config.
public
_reconfigure([array<string|int, mixed> $config = [] ]) : mixed
Parameters
- $config : array<string|int, mixed> = []
getCurrentModuleNames()
public
getCurrentModuleNames() : mixed
getDataDir()
public
getDataDir() : mixed
getGlobalConfig()
public
getGlobalConfig() : mixed
getLogDir()
public
getLogDir() : mixed
getModule()
public
getModule(mixed $name) : mixed
Parameters
- $name : mixed
getRootDir()
public
getRootDir() : mixed
getSubscribedEvents()
Returns an array of event names this subscriber wants to listen to.
public
static getSubscribedEvents() : array<string, string|array{0: string, 1: int}|array<int, array{0: string, 1?: int}>>
The array keys are event names and the value can be:
- The method name to call (priority defaults to 0)
- An array composed of the method name to call and the priority
- An array of arrays composed of the method names to call and respective priorities, or 0 if unset
For instance:
- ['eventName' => 'methodName']
- ['eventName' => ['methodName', $priority]]
- ['eventName' => [['methodName1', $priority], ['methodName2']]]
The code must not depend on runtime state as it will only be called at compile time. All logic depending on runtime state must be put into the individual methods handling the events.
Return values
array<string, string|array{0: string, 1: int}|array<int, array{0: string, 1?: int}>>getTestsDir()
public
getTestsDir() : mixed
hasModule()
public
hasModule(mixed $name) : mixed
Parameters
- $name : mixed
receiveModuleContainer()
public
receiveModuleContainer(SuiteEvent $e) : mixed
Parameters
- $e : SuiteEvent
runBefore()
public
runBefore() : mixed
write()
protected
write(mixed $message) : mixed
Parameters
- $message : mixed
writeln()
protected
writeln(mixed $message) : mixed
Parameters
- $message : mixed
addProcessToMonitoring()
private
addProcessToMonitoring(Process $process, array<string|int, string> $followingCommands) : mixed
Parameters
- $process : Process
- $followingCommands : array<string|int, string>
checkProcesses()
private
checkProcesses() : mixed
isRunning()
private
isRunning(Process $process) : mixed
Parameters
- $process : Process
processMonitoring()
private
processMonitoring() : mixed
removeProcessFromMonitoring()
private
removeProcessFromMonitoring(int $index) : mixed
Parameters
- $index : int
runFollowingCommand()
private
runFollowingCommand(array<string|int, string> $followingCommands) : mixed
Parameters
- $followingCommands : array<string|int, string>
runProcess()
private
runProcess(string $command) : Process
Parameters
- $command : string
Return values
ProcessrunProcesses()
private
runProcesses() : mixed