Class FixtureManager

A factory class to manage the life cycle of test fixtures

Method Detail

_aliasConnectionssource protected

_aliasConnections( )

Add aliases for all non test prefixed connections.

This allows models to use the test connections without a pile of configuration work.

_fixtureConnectionssource protected

_fixtureConnections( array $fixtures )

Get the unique list of connections that a set of fixtures contains.

Parameters

array $fixtures
The array of fixtures a list of connections is needed from.

Returns

array
An array of connection names.

_initDbsource protected

_initDb( )

Initializes this class with a DataSource object to use as default for all fixtures

_loadFixturessource protected

_loadFixtures( Cake\TestSuite\TestCase $test )

Looks for fixture files and instantiates the classes accordingly

Parameters

Cake\TestSuite\TestCase $test
The test suite to load fixtures for.

Throws

UnexpectedValueException
when a referenced fixture does not exist.

_runOperationsource protected

_runOperation( array $fixtures , callable $operation )

Run a function on each connection and collection of fixtures.

Parameters

array $fixtures
A list of fixtures to operate on.
callable $operation
The operation to run on each connection + fixture set.

_setupTablesource protected

_setupTable( Cake\TestSuite\Fixture\TestFixture $fixture , Cake\Database\Connection $db , array $sources , boolean $drop true )

Runs the drop and create commands on the fixtures if necessary.

Parameters

Cake\TestSuite\Fixture\TestFixture $fixture
the fixture object to create
Cake\Database\Connection $db
The Connection object instance to use
array $sources
The existing tables in the datasource.
boolean $drop optional true
whether drop the fixture if it is already created or not

fixturizesource public

fixturize( Cake\TestSuite\TestCase $test )

Inspects the test to look for unloaded fixtures and loads them

Parameters

Cake\TestSuite\TestCase $test
The test case to inspect.

isFixtureSetupsource public

isFixtureSetup( string $connection , Cake\Datasource\FixtureInterface $fixture )

Check whether or not a fixture has been inserted in a given connection name.

Parameters

string $connection
The connection name.
Cake\Datasource\FixtureInterface $fixture
The fixture to check.

Returns

boolean
bool

loadsource public

load( Cake\TestSuite\TestCase $test )

Creates the fixtures tables and inserts data on them.

Parameters

Cake\TestSuite\TestCase $test
The test to inspect for fixture loading.

Throws

Cake\Core\Exception\Exception
When fixture records cannot be inserted.

loadSinglesource public

loadSingle( string $name , Cake\Datasource\ConnectionInterface $db null , boolean $dropTables true )

Creates a single fixture table and loads data into it.

Parameters

string $name
of the fixture
Cake\Datasource\ConnectionInterface $db optional null
Connection instance or leave null to get a Connection from the fixture
boolean $dropTables optional true
Whether or not tables should be dropped and re-created.

Throws

UnexpectedValueException
if $name is not a previously loaded class

loadedsource public

loaded( )

Get the loaded fixtures.

Returns

array
array

setDebugsource public

setDebug( boolean $debug )

Modify the debug mode.

Parameters

boolean $debug
Whether or not fixture debug mode is enabled.

shutDownsource public

shutDown( )

Drop all fixture tables loaded by this class

unloadsource public

unload( Cake\TestSuite\TestCase $test )

Truncates the fixtures tables

Parameters

Cake\TestSuite\TestCase $test
The test to inspect for fixture unloading.

Properties summary

$_debugsource

protected boolean

Is the test runner being run with --debug enabled. When true, fixture SQL will also be logged.

false

$_fixtureMapsource

protected array

Holds the fixture classes that where instantiated indexed by class name

[]

$_initializedsource

protected boolean

Was this instance already initialized?

false

$_insertionMapsource

protected array

A map of connection names and the fixture currently in it.

[]

$_loadedsource

protected array

Holds the fixture classes that where instantiated

[]

$_processedsource

protected array

List of TestCase class name that have been processed

[]

© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.TestSuite.Fixture.FixtureManager.html