Class ConsoleIntegrationTestCase
A test case class intended to make integration tests of cake console commands easier.
- PHPUnit\Framework\TestCase
- Cake\TestSuite\TestCase
- Cake\TestSuite\ConsoleIntegrationTestCase
Properties summary
-
$_err
protected -
$_exitCode
protectedLast exit codeinteger
-
$_in
protected -
$_out
protected -
$_useCommandRunner
protectedWhether or not to use the CommandRunnerboolean
Inherited Properties
Method Summary
- _commandStringToArgs() protectedCreates an $argv array from a command string
- _makeRunner() protectedBuilds the appropriate command dispatcher
- assertErrorContains() publicAsserts
stderr
contains expected output - assertErrorRegExp() publicAsserts
stderr
contains expected regexp - assertExitCode() publicAsserts shell exited with the expected code
- assertOutputContains() publicAsserts
stdout
contains expected output - assertOutputRegExp() publicAsserts
stdout
contains expected regexp - exec() publicRuns cli integration test
- tearDown() publictearDown
- useCommandRunner() public
Set this test case to use the CommandRunner rather than the legacy ShellDispatcher
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
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
stringNormalized 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
booleanassertNotWithinRange()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_MockObjectThrows
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
Exceptionwhen no fixture manager is available.
See
\Cake\TestSuite\TestCase::$autoFixturessetAppNamespace()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
booleanskipUnless()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
booleanProperties detail
© 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