Class CakeTestCase
CakeTestCase class
- PHPUnit_Framework_TestCase
- CakeTestCase
Direct Subclasses
Package: Cake\TestSuite
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/TestSuite/CakeTestCase.php
Properties summary
-
$_configure
protectedConfigure values to restore at end of test.array
-
$_pathRestore
protectedPath settings to restore at the end of the test.array
-
$autoFixtures
publicarray
By default, all fixtures attached to this class will be truncated and reloaded after each test. Set this to false to handle manually
-
$dropTables
publicControl table create/drops on each test method.boolean
-
$fixtureManager
public
Method Summary
- _assertAttributes() protectedCheck the attributes as part of an assertTags() check.
- _buildMock() protectedReturns a mock object for the specified class.
- Compatibility wrapper function for assertEquals
- Compatibility wrapper function for assertEquals
- Compatibility wrapper for assertIsA
- assertNoErrors() protectedassert no errors
- Compatibility wrapper function for assertNotRegExp
- Compatibility wrapper function for assertNotEquals
- Compatibility wrapper function for assertNotEquals
- Compatibility wrapper function for assertRegexp
- assertPostConditions() protectedAnnounces the end of a test.
- assertPreConditions() protectedAnnounces the start of a test.
- Compatibility wrapper function for assertSame
- assertTags() public
Takes an array $expected and generates a regex from it to match the provided $string. Samples for $expected:
- assertTextContains() public
Assert that a string contains another string, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.
- assertTextEndsNotWith() public
Asserts that a string ends not with a given prefix, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.
- assertTextEndsWith() public
Asserts that a string ends with a given prefix, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.
- assertTextEquals() public
Assert text equality, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.
- assertTextNotContains() public
Assert that a text doesn't contain another text, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.
- assertTextNotEquals() public
Assert text equality, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.
- assertTextStartsNotWith() public
Asserts that a string starts not with a given prefix, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.
- assertTextStartsWith() public
Asserts that a string starts with a given prefix, ignoring differences in newlines. Helpful for doing cross platform tests of blocks of text.
- Compatibility function to test if value is between an acceptable range
- See CakeTestSuiteDispatcher::date()
- endTest() publicCalled when a test case method has been executed (to be overridden when needed.)
- expectError() protectedCompatibility wrapper function for setExpectedException
- expectException() publicCompatibility wrapper function for setExpectedException
- getMock() publicReturns a mock object for the specified class.
- getMockForModel() publicMock a model, maintain fixtures and table association
- loadFixtures() publicChooses which fixtures to load for a given test
- run() public
Runs the test case and collects the results in a TestResult object. If no TestResult object is passed a new one will be created. This method is run for each test method in this class
- setUp() public
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() publicOverrides SimpleTestCase::skipIf to provide a boolean return value
- skipUnless() protectedCompatibility function for skipping.
- startTest() publicCalled when a test case method is about to start (to be overridden when needed.)
- tearDown() publicteardown any static object changes and restore them.
Method Detail
_assertAttributes()source protected
_assertAttributes( array $assertions , string $string )
Check the attributes as part of an assertTags() check.
Parameters
- array
$assertions
- Assertions to run.
- string
$string
- The HTML string to check.
_buildMock()source protected
_buildMock( string $originalClassName , array $methods array() , array $arguments array() , string $mockClassName '' , boolean $callOriginalConstructor true , boolean $callOriginalClone true , boolean $callAutoload true )
Returns a mock object for the specified class.
Deprecated
UsegetMockBuilder()
or createMock()
in new unit tests.Parameters
- string
$originalClassName
- The class name of the object to be mocked.
- array
$methods
optional array() By default, all methods of the given class are replaced with a test double that just returns NULL unless a return value is configured using will($this->returnValue()), for instance. When the second (optional) parameter is provided, only the methods whose names are in the array are replaced with a configurable test double. The behavior of the other methods is not changed. Providing NULL as the parameter means that no methods will be replaced.
- array
$arguments
optional array() The third (optional) parameter may hold a parameter array that is passed to the original class' constructor (which is not replaced with a dummy implementation by default).
- string
$mockClassName
optional '' The fourth (optional) parameter can be used to specify a class name for the generated test double class.
- boolean
$callOriginalConstructor
optional true The fifth (optional) parameter can be used to disable the call to the original class' constructor.
- boolean
$callOriginalClone
optional true The sixth (optional) parameter can be used to disable the call to the original class' clone constructor.
- boolean
$callAutoload
optional true The seventh (optional) parameter can be used to disable __autoload() during the generation of the test double class.
Returns
objectSee
https://phpunit.de/manual/current/en/test-doubles.htmlassertEqual()source protected static
assertEqual( mixed $result , mixed $expected , string $message '' )
Compatibility wrapper function for assertEquals
Deprecated
3.0.0 This is a compatibility wrapper for 1.x. It will be removed in 3.0Parameters
- mixed
$result
- mixed
$expected
- string
$message
optional '' - the text to display if the assertion is not correct
assertIdentical()source protected static
assertIdentical( mixed $actual , mixed $expected , string $message '' )
Compatibility wrapper function for assertEquals
Deprecated
3.0.0 This is a compatibility wrapper for 1.x. It will be removed in 3.0Parameters
- mixed
$actual
- mixed
$expected
- string
$message
optional '' - the text to display if the assertion is not correct
assertIsA()source protected static
assertIsA( string $object , string $type , string $message '' )
Compatibility wrapper for assertIsA
Deprecated
3.0.0 This is a compatibility wrapper for 1.x. It will be removed in 3.0Parameters
- string
$object
- string
$type
- string
$message
optional ''
assertNoErrors()source protected
assertNoErrors( )
assert no errors
Deprecated
3.0.0 This is a compatibility wrapper for 1.x. It will be removed in 3.0assertNoPattern()source protected static
assertNoPattern( mixed $pattern , string $string , string $message '' )
Compatibility wrapper function for assertNotRegExp
Deprecated
3.0.0 This is a compatibility wrapper for 1.x. It will be removed in 3.0Parameters
- mixed
$pattern
- a regular expression
- string
$string
- the text to be matched
- string
$message
optional '' - the text to display if the assertion is not correct
assertNotEqual()source protected static
assertNotEqual( mixed $result , mixed $expected , string $message '' )
Compatibility wrapper function for assertNotEquals
Deprecated
3.0.0 This is a compatibility wrapper for 1.x. It will be removed in 3.0Parameters
- mixed
$result
- mixed
$expected
- string
$message
optional '' - the text to display if the assertion is not correct
assertNotIdentical()source protected static
assertNotIdentical( mixed $actual , mixed $expected , string $message '' )
Compatibility wrapper function for assertNotEquals
Deprecated
3.0.0 This is a compatibility wrapper for 1.x. It will be removed in 3.0Parameters
- mixed
$actual
- mixed
$expected
- string
$message
optional '' - the text to display if the assertion is not correct
assertPattern()source protected static
assertPattern( mixed $pattern , string $string , string $message '' )
Compatibility wrapper function for assertRegexp
Deprecated
3.0.0 This is a compatibility wrapper for 1.x. It will be removed in 3.0Parameters
- mixed
$pattern
- a regular expression
- string
$string
- the text to be matched
- string
$message
optional '' - the text to display if the assertion is not correct
assertReference()source protected static
assertReference( mixed $first , mixed $second , string $message '' )
Compatibility wrapper function for assertSame
Deprecated
3.0.0 This is a compatibility wrapper for 1.x. It will be removed in 3.0Parameters
- mixed
$first
- mixed
$second
- string
$message
optional '' - the text to display if the assertion is not correct
assertTags()source public
assertTags( string $string , array $expected , string $fullDebug false )
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':
array('input' => array('name', 'id' => 'my-input'))
Checks for two p elements with some text in them:
array( array('p' => true), 'textA', '/p', array('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:
array( array('input' => array('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
- string
$string
- An HTML/XHTML/XML string
- array
$expected
- An array, see above
- string
$fullDebug
optional false - Whether or not more verbose output should be used.
Returns
booleanassertTextContains()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.
Returns
booleanassertTextEndsNotWith()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.
Returns
booleanassertTextEndsWith()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.
Returns
booleanassertTextEquals()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 '' - message The message to use for failure.
Returns
booleanassertTextNotContains()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.
Returns
booleanassertTextNotEquals()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.
Returns
booleanassertTextStartsNotWith()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.
Returns
booleanassertTextStartsWith()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.
Returns
booleanassertWithinMargin()source protected static
assertWithinMargin( mixed $result , mixed $expected , mixed $margin , string $message '' )
Compatibility function to test if value is between an acceptable range
Parameters
- mixed
$result
- mixed
$expected
- mixed
$margin
- the rage of acceptation
- string
$message
optional '' - the text to display if the assertion is not correct
date()source public static
date( string $format 'Y-m-d H:i:s' )
See CakeTestSuiteDispatcher::date()
Parameters
- string
$format
optional 'Y-m-d H:i:s' - format to be used.
Returns
stringendTest()source public
endTest( string $method )
Called when a test case method has been executed (to be overridden when needed.)
Parameters
- string
$method
- Test method about that was executed.
expectError()source protected
expectError( mixed $expected false , string $message '' )
Compatibility wrapper function for setExpectedException
Deprecated
3.0.0 This is a compatibility wrapper for 1.x. It will be removed in 3.0Parameters
- mixed
$expected
optional false - the name of the Exception or error
- string
$message
optional '' - the text to display if the assertion is not correct
expectException()source public
expectException( mixed $name 'Exception' , string $message '' )
Compatibility wrapper function for setExpectedException
Deprecated
3.0.0 This is a compatibility wrapper for 1.x. It will be removed in 3.0.Parameters
- mixed
$name
optional 'Exception' - The name of the expected Exception.
- string
$message
optional '' - the text to display if the assertion is not correct
getMock()source public
getMock( string $originalClassName , array $methods array() , array $arguments array() , string $mockClassName '' , boolean $callOriginalConstructor true , boolean $callOriginalClone true , boolean $callAutoload true , boolean $cloneArguments false , boolean $callOriginalMethods false , string $proxyTarget null )
Returns a mock object for the specified class.
Deprecated
UsegetMockBuilder()
or createMock()
in new unit tests.Parameters
- string
$originalClassName
- The class name of the object to be mocked.
- array
$methods
optional array() By default, all methods of the given class are replaced with a test double that just returns NULL unless a return value is configured using will($this->returnValue()), for instance. When the second (optional) parameter is provided, only the methods whose names are in the array are replaced with a configurable test double. The behavior of the other methods is not changed. Providing NULL as the parameter means that no methods will be replaced.
- array
$arguments
optional array() The third (optional) parameter may hold a parameter array that is passed to the original class' constructor (which is not replaced with a dummy implementation by default).
- string
$mockClassName
optional '' The fourth (optional) parameter can be used to specify a class name for the generated test double class.
- boolean
$callOriginalConstructor
optional true The fifth (optional) parameter can be used to disable the call to the original class' constructor.
- boolean
$callOriginalClone
optional true The sixth (optional) parameter can be used to disable the call to the original class' clone constructor.
- boolean
$callAutoload
optional true The seventh (optional) parameter can be used to disable __autoload() during the generation of the test double class.
- boolean
$cloneArguments
optional false - Not supported.
- boolean
$callOriginalMethods
optional false - Not supported.
- string
$proxyTarget
optional null - Not supported.
Returns
objectThrows
InvalidArgumentExceptionWhen not supported parameters are set.
See
https://phpunit.de/manual/current/en/test-doubles.htmlgetMockForModel()source public
getMockForModel( string $model , mixed $methods array() , array $config array() )
Mock a model, maintain fixtures and table association
Parameters
- string
$model
- The model to get a mock for.
- mixed
$methods
optional array() - The list of methods to mock
- array
$config
optional array() - The config data for the mock's constructor.
Returns
Model
Throws
MissingModelException
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. 'Post', 'Author', etc.
Throws
Exceptionwhen no fixture manager is available.
See
CakeTestCase::$autoFixturesrun()source public
run( PHPUnit_Framework_TestResult $result null )
Runs the test case and collects the results in a TestResult object. If no TestResult object is passed a new one will be created. This method is run for each test method in this class
Parameters
- PHPUnit_Framework_TestResult
$result
optional null - The test result object
Returns
PHPUnit_Framework_TestResultThrows
InvalidArgumentExceptionsetUp()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
booleanstartTest()source public
startTest( string $method )
Called when a test case method is about to start (to be overridden when needed.)
Parameters
- string
$method
- Test method about to get executed.
Properties detail
$autoFixturessource
public array
By default, all fixtures attached to this class will be truncated and reloaded after each test. Set this to false to handle manually
true
$dropTablessource
public boolean
Control table create/drops on each test method.
Set this to false to avoid tables to be dropped if they already exist between each test method. Tables will still be dropped at the end of each test runner execution.
true
$fixtureManagersource
public CakeFixtureManager
The class responsible for managing the creation, loading and removing of fixtures
null
© 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/2.10/class-CakeTestCase.html