Class CakeTestCase

CakeTestCase class

PHPUnit_Framework_TestCase
Extended by CakeTestCase

Direct Subclasses

Abstract
Package: Cake\TestSuite
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/TestSuite/CakeTestCase.php

Properties summary

  • $_configure protected
    array
    Configure values to restore at end of test.
  • $_pathRestore protected
    array
    Path settings to restore at the end of the test.
  • $autoFixtures 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

  • $dropTables public
    boolean
    Control table create/drops on each test method.
  • The class responsible for managing the creation, loading and removing of fixtures

Method Summary

  • Check the attributes as part of an assertTags() check.
  • _buildMock() protected
    Returns a mock object for the specified class.
  • assertEqual() protected static
    Compatibility wrapper function for assertEquals
  • assertIdentical() protected static
    Compatibility wrapper function for assertEquals
  • assertIsA() protected static
    Compatibility wrapper for assertIsA
  • assertNoErrors() protected
    assert no errors
  • assertNoPattern() protected static
    Compatibility wrapper function for assertNotRegExp
  • assertNotEqual() protected static
    Compatibility wrapper function for assertNotEquals
  • assertNotIdentical() protected static
    Compatibility wrapper function for assertNotEquals
  • assertPattern() protected static
    Compatibility wrapper function for assertRegexp
  • Announces the end of a test.
  • Announces the start of a test.
  • assertReference() protected static
    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:

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

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

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

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

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

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

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

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

  • assertWithinMargin() protected static
    Compatibility function to test if value is between an acceptable range
  • date() public static
    See CakeTestSuiteDispatcher::date()
  • endTest() public
    Called when a test case method has been executed (to be overridden when needed.)
  • expectError() protected
    Compatibility wrapper function for setExpectedException
  • Compatibility wrapper function for setExpectedException
  • getMock() public
    Returns a mock object for the specified class.
  • Mock a model, maintain fixtures and table association
  • Chooses 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() public
    Overrides SimpleTestCase::skipIf to provide a boolean return value
  • skipUnless() protected
    Compatibility function for skipping.
  • startTest() public
    Called when a test case method is about to start (to be overridden when needed.)
  • tearDown() public
    teardown 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

Use getMockBuilder() 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

object

See

https://phpunit.de/manual/current/en/test-doubles.html

assertEqual()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.0

Parameters

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.0

Parameters

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.0

Parameters

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.0

assertNoPattern()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.0

Parameters

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.0

Parameters

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.0

Parameters

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.0

Parameters

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

assertPostConditions()source protected

assertPostConditions( )

Announces the end of a test.

assertPreConditions()source protected

assertPreConditions( )

Announces the start of a test.

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.0

Parameters

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

boolean

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.

Returns

boolean

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.

Returns

boolean

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.

Returns

boolean

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 ''
message The message to use for failure.

Returns

boolean

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.

Returns

boolean

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.

Returns

boolean

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.

Returns

boolean

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.

Returns

boolean

assertWithinMargin()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

string

endTest()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.0

Parameters

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

Use getMockBuilder() 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

object

Throws

InvalidArgumentException
When not supported parameters are set.

See

https://phpunit.de/manual/current/en/test-doubles.html

getMockForModel()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

Exception
when no fixture manager is available.

See

CakeTestCase::$autoFixtures

run()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_TestResult

Throws

InvalidArgumentException

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

startTest()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.

tearDown()source public

tearDown( )

teardown any static object changes and restore them.

Properties detail

$_configuresource

protected array

Configure values to restore at end of test.

array()

$_pathRestoresource

protected array

Path settings to restore at the end of the test.

array()

$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