Class ConsoleIntegrationTestCase

A test case class intended to make integration tests of cake console commands easier.

PHPUnit\Framework\TestCase
Extended by Cake\TestSuite\TestCase
Extended by Cake\TestSuite\ConsoleIntegrationTestCase

Properties summary

Inherited Properties

Method Summary

Method Detail

_commandStringToArgs()source protected

_commandStringToArgs( string $command )

Creates an $argv array from a command string

Parameters

string $command
Command string

Returns

array

_makeRunner()source protected

_makeRunner( )

Builds the appropriate command dispatcher

Returns

Cake\Console\CommandRunner|Cake\TestSuite\LegacyCommandRunner

assertErrorContains()source public

assertErrorContains( string $expected , string $message '' )

Asserts stderr contains expected output

Parameters

string $expected
Expected output
string $message optional ''
Failure message

assertErrorRegExp()source public

assertErrorRegExp( string $pattern , string $message '' )

Asserts stderr contains expected regexp

Parameters

string $pattern
Expected pattern
string $message optional ''
Failure message

assertExitCode()source public

assertExitCode( integer $expected , string $message '' )

Asserts shell exited with the expected code

Parameters

integer $expected
Expected exit code
string $message optional ''
Failure message to be appended to the generated message

assertOutputContains()source public

assertOutputContains( string $expected , string $message '' )

Asserts stdout contains expected output

Parameters

string $expected
Expected output
string $message optional ''
Failure message

assertOutputRegExp()source public

assertOutputRegExp( string $pattern , string $message '' )

Asserts stdout contains expected regexp

Parameters

string $pattern
Expected pattern
string $message optional ''
Failure message

exec()source public

exec( string $command , array $input [] )

Runs cli integration test

Parameters

string $command
Command to run
array $input optional []
Input values to pass to an interactive shell

tearDown()source public

tearDown( )

tearDown

Overrides

Cake\TestSuite\TestCase::tearDown()

useCommandRunner()source public

useCommandRunner( )

Set this test case to use the CommandRunner rather than the legacy ShellDispatcher

Methods inherited from Cake\TestSuite\TestCase

_assertAttributes()source protected

_assertAttributes( array $assertions , string $string , boolean $fullDebug false , array|string $regex '' )

Check the attributes as part of an assertTags() check.

Parameters

array $assertions
Assertions to run.
string $string
The HTML string to check.
boolean $fullDebug optional false
Whether or not more verbose output should be used.
array|string $regex optional ''
Full regexp from assertHtml

Returns

string|boolean

_normalizePath()source protected

_normalizePath( string $path )

Normalize a path for comparison.

Parameters

string $path
Path separated by "/" slash.

Returns

string
Normalized path separated by DIRECTORY_SEPARATOR.

assertEventFired()source public

assertEventFired( string $name , Cake\Event\EventManager|null $eventManager null , string $message '' )

Asserts that a global event was fired. You must track events in your event manager for this assertion to work

Parameters

string $name
Event name
Cake\Event\EventManager|null $eventManager optional null
Event manager to check, defaults to global event manager
string $message optional ''
Assertion failure message

assertEventFiredWith()source public

assertEventFiredWith( string $name , string $dataKey , string $dataValue , Cake\Event\EventManager|null $eventManager null , string $message '' )

Asserts an event was fired with data

If a third argument is passed, that value is used to compare with the value in $dataKey

Parameters

string $name
Event name
string $dataKey
Data key
string $dataValue
Data value
Cake\Event\EventManager|null $eventManager optional null
Event manager to check, defaults to global event manager
string $message optional ''
Assertion failure message

assertHtml()source public

assertHtml( array $expected , string $string , boolean $fullDebug false )

Asserts HTML tags.

Takes an array $expected and generates a regex from it to match the provided $string. Samples for $expected:

Checks for an input tag with a name attribute (contains any non-empty value) and an id attribute that contains 'my-input':

['input' => ['name', 'id' => 'my-input']]

Checks for two p elements with some text in them:

[
  ['p' => true],
  'textA',
  '/p',
  ['p' => true],
  'textB',
  '/p'
]

You can also specify a pattern expression as part of the attribute values, or the tag being defined, if you prepend the value with preg: and enclose it with slashes, like so:

[
  ['input' => ['name', 'id' => 'preg:/FieldName\d+/']],
  'preg:/My\s+field/'
]

Important: This function is very forgiving about whitespace and also accepts any permutation of attribute order. It will also allow whitespace between specified tags.

Parameters

array $expected
An array, see above
string $string
An HTML/XHTML/XML string
boolean $fullDebug optional false
Whether or not more verbose output should be used.

Returns

boolean

assertNotWithinRange()source protected static

assertNotWithinRange( float $expected , float $result , float $margin , string $message '' )

Compatibility function to test if a value is not between an acceptable range.

Parameters

float $expected
float $result
float $margin
the rage of acceptation
string $message optional ''
the text to display if the assertion is not correct

assertPathEquals()source protected static

assertPathEquals( string $expected , string $result , string $message '' )

Compatibility function to test paths.

Parameters

string $expected
string $result
string $message optional ''
the text to display if the assertion is not correct

assertTags()source public

assertTags( string $string , array $expected , boolean $fullDebug false )

Asserts HTML tags.

Deprecated

3.0. Use assertHtml() instead.

Parameters

string $string
An HTML/XHTML/XML string
array $expected
An array, see above
boolean $fullDebug optional false
Whether or not more verbose output should be used.

assertTextContains()source public

assertTextContains( string $needle , string $haystack , string $message '' , boolean $ignoreCase false )

Assert that a string contains another string, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.

Parameters

string $needle
The string to search for.
string $haystack
The string to search through.
string $message optional ''
The message to display on failure.
boolean $ignoreCase optional false
Whether or not the search should be case-sensitive.

assertTextEndsNotWith()source public

assertTextEndsNotWith( string $suffix , string $string , string $message '' )

Asserts that a string ends not with a given prefix, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.

Parameters

string $suffix
The suffix to not find.
string $string
The string to search.
string $message optional ''
The message to use for failure.

assertTextEndsWith()source public

assertTextEndsWith( string $suffix , string $string , string $message '' )

Asserts that a string ends with a given prefix, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.

Parameters

string $suffix
The suffix to find.
string $string
The string to search.
string $message optional ''
The message to use for failure.

assertTextEquals()source public

assertTextEquals( string $expected , string $result , string $message '' )

Assert text equality, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.

Parameters

string $expected
The expected value.
string $result
The actual value.
string $message optional ''
The message to use for failure.

assertTextNotContains()source public

assertTextNotContains( string $needle , string $haystack , string $message '' , boolean $ignoreCase false )

Assert that a text doesn't contain another text, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.

Parameters

string $needle
The string to search for.
string $haystack
The string to search through.
string $message optional ''
The message to display on failure.
boolean $ignoreCase optional false
Whether or not the search should be case-sensitive.

assertTextNotEquals()source public

assertTextNotEquals( string $expected , string $result , string $message '' )

Assert text equality, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.

Parameters

string $expected
The expected value.
string $result
The actual value.
string $message optional ''
The message to use for failure.

assertTextStartsNotWith()source public

assertTextStartsNotWith( string $prefix , string $string , string $message '' )

Asserts that a string starts not with a given prefix, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.

Parameters

string $prefix
The prefix to not find.
string $string
The string to search.
string $message optional ''
The message to use for failure.

assertTextStartsWith()source public

assertTextStartsWith( string $prefix , string $string , string $message '' )

Asserts that a string starts with a given prefix, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.

Parameters

string $prefix
The prefix to check for.
string $string
The string to search in.
string $message optional ''
The message to use for failure.

assertWithinRange()source protected static

assertWithinRange( float $expected , float $result , float $margin , string $message '' )

Compatibility function to test if a value is between an acceptable range.

Parameters

float $expected
float $result
float $margin
the rage of acceptation
string $message optional ''
the text to display if the assertion is not correct

getMockForModel()source public

getMockForModel( string $alias , array $methods [] , array $options [] )

Mock a model, maintain fixtures and table association

Parameters

string $alias
The model to get a mock for.
array $methods optional []
The list of methods to mock
array $options optional []
The config data for the mock's constructor.

Returns

Cake\ORM\Table|PHPUnit_Framework_MockObject_MockObject

Throws

Cake\ORM\Exception\MissingTableClassException

loadFixtures()source public

loadFixtures( )

Chooses which fixtures to load for a given test

Each parameter is a model name that corresponds to a fixture, i.e. 'Posts', 'Authors', etc. Passing no parameters will cause all fixtures on the test case to load.

Throws

Exception
when no fixture manager is available.

See

\Cake\TestSuite\TestCase::$autoFixtures

setAppNamespace()source public static

setAppNamespace( string $appNamespace 'TestApp' )

Set the app namespace

Parameters

string $appNamespace optional 'TestApp'
The app namespace, defaults to "TestApp".

setUp()source public

setUp( )

Setup the test case, backup the static object values so they can be restored. Specifically backs up the contents of Configure and paths in App if they have not already been backed up.

skipIf()source public

skipIf( boolean $shouldSkip , string $message '' )

Overrides SimpleTestCase::skipIf to provide a boolean return value

Parameters

boolean $shouldSkip
Whether or not the test should be skipped.
string $message optional ''
The message to display.

Returns

boolean

skipUnless()source protected

skipUnless( boolean $condition , string $message '' )

Compatibility function for skipping.

Parameters

boolean $condition
Condition to trigger skipping
string $message optional ''
Message for skip

Returns

boolean

Properties detail

$_errsource

protected Cake\TestSuite\Stub\ConsoleOutput

Console error output stub

$_exitCodesource

protected integer

Last exit code

$_insource

protected Cake\Console\ConsoleInput

Console input mock

$_outsource

protected Cake\TestSuite\Stub\ConsoleOutput

Console output stub

$_useCommandRunnersource

protected boolean

Whether or not to use the CommandRunner

false

© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.4/class-Cake.TestSuite.ConsoleIntegrationTestCase.html