Trait ConsoleIntegrationTestTrait
A test case class intended to make integration tests of cake console commands easier.
Property Summary
-
$_appArgs protected
array|null
The customized application constructor arguments.
-
$_appClass protected
string|null
The customized application class name.
-
$_err protected
Cake\TestSuite\Stub\ConsoleOutput
Console error output stub
-
$_exitCode protected
int|null
Last exit code
-
$_in protected
Cake\Console\ConsoleInput
Console input mock
-
$_out protected
Cake\TestSuite\Stub\ConsoleOutput
Console output stub
-
$_useCommandRunner protected
bool
Whether or not to use the CommandRunner
Method Summary
-
assertErrorContains() public
Asserts
stderr
contains expected output -
assertErrorEmpty() public
Asserts that
stderr
is empty -
assertErrorRegExp() public
Asserts
stderr
contains expected regexp -
assertExitCode() public
Asserts shell exited with the expected code
-
assertExitError() public
Asserts shell exited with Command::CODE_ERROR
-
assertExitSuccess() public
Asserts shell exited with the Command::CODE_SUCCESS
-
assertOutputContains() public
Asserts
stdout
contains expected output -
assertOutputContainsRow() protected
Check that a row of cells exists in the output.
-
assertOutputEmpty() public
Asserts that
stdout
is empty -
assertOutputNotContains() public
Asserts
stdout
does not contain expected output -
assertOutputRegExp() public
Asserts
stdout
contains expected regexp -
cleanupConsoleTrait() public
Cleans state to get ready for the next test
-
commandStringToArgs() protected
Creates an $argv array from a command string
-
configApplication() public
Configure the application class to use in console integration tests.
-
exec() public
Runs CLI integration test
-
makeRunner() protected
Builds the appropriate command dispatcher
-
useCommandRunner() public
Set this test case to use the CommandRunner rather than the legacy ShellDispatcher
Method Detail
assertErrorContains() ¶ public
assertErrorContains(string $expected, string $message = ''): void
Asserts stderr
contains expected output
Parameters
-
string
$expected Expected output
-
string
$message optional Failure message
Returns
void
assertErrorEmpty() ¶ public
assertErrorEmpty(string $message = ''): void
Asserts that stderr
is empty
Parameters
-
string
$message optional The message to output when the assertion fails.
Returns
void
assertErrorRegExp() ¶ public
assertErrorRegExp(string $pattern, string $message = ''): void
Asserts stderr
contains expected regexp
Parameters
-
string
$pattern Expected pattern
-
string
$message optional Failure message
Returns
void
assertExitCode() ¶ public
assertExitCode(int $expected, string $message = ''): void
Asserts shell exited with the expected code
Parameters
-
int
$expected Expected exit code
-
string
$message optional Failure message
Returns
void
assertExitError() ¶ public
assertExitError(string $message = ''): void
Asserts shell exited with Command::CODE_ERROR
Parameters
-
string
$message optional Failure message
Returns
void
assertExitSuccess() ¶ public
assertExitSuccess(string $message = ''): void
Asserts shell exited with the Command::CODE_SUCCESS
Parameters
-
string
$message optional Failure message
Returns
void
assertOutputContains() ¶ public
assertOutputContains(string $expected, string $message = ''): void
Asserts stdout
contains expected output
Parameters
-
string
$expected Expected output
-
string
$message optional Failure message
Returns
void
assertOutputContainsRow() ¶ protected
assertOutputContainsRow(array $row, string $message = ''): void
Check that a row of cells exists in the output.
Parameters
-
array
$row Row of cells to ensure exist in the output.
-
string
$message optional Failure message.
Returns
void
assertOutputEmpty() ¶ public
assertOutputEmpty(string $message = ''): void
Asserts that stdout
is empty
Parameters
-
string
$message optional The message to output when the assertion fails.
Returns
void
assertOutputNotContains() ¶ public
assertOutputNotContains(string $expected, string $message = ''): void
Asserts stdout
does not contain expected output
Parameters
-
string
$expected Expected output
-
string
$message optional Failure message
Returns
void
assertOutputRegExp() ¶ public
assertOutputRegExp(string $pattern, string $message = ''): void
Asserts stdout
contains expected regexp
Parameters
-
string
$pattern Expected pattern
-
string
$message optional Failure message
Returns
void
cleanupConsoleTrait() ¶ public
cleanupConsoleTrait(): void
Cleans state to get ready for the next test
Returns
void
commandStringToArgs() ¶ protected
commandStringToArgs(string $command): string[]
Creates an $argv array from a command string
Parameters
-
string
$command Command string
Returns
string[]
configApplication() ¶ public
configApplication(string $class, array|null $constructorArgs): void
Configure the application class to use in console integration tests.
Parameters
-
string
$class The application class name.
-
array|null
$constructorArgs The constructor arguments for your application class.
Returns
void
exec() ¶ public
exec(string $command, array $input = []): void
Runs CLI integration test
Parameters
-
string
$command Command to run
-
array
$input optional Input values to pass to an interactive shell
Returns
void
Throws
Cake\TestSuite\Stub\MissingConsoleInputException
RuntimeException
makeRunner() ¶ protected
makeRunner(): Cake\Console\CommandRunnerCake\TestSuite\LegacyCommandRunner
Builds the appropriate command dispatcher
Returns
Cake\Console\CommandRunnerCake\TestSuite\LegacyCommandRunner
useCommandRunner() ¶ public
useCommandRunner(): void
Set this test case to use the CommandRunner rather than the legacy ShellDispatcher
Returns
void