Class FixtureManager
A factory class to manage the life cycle of test fixtures
Properties summary
-
$_debug
protectedboolean
Is the test runner being run with
--debug
enabled. When true, fixture SQL will also be logged. -
$_fixtureMap
protectedHolds the fixture classes that where instantiated indexed by class name -
$_initialized
protectedboolean
Was this instance already initialized? -
$_insertionMap
protectedarray
A map of connection names and the fixture currently in it. -
$_loaded
protectedHolds the fixture classes that where instantiated -
$_processed
protectedarray
List of TestCase class name that have been processed
Method Summary
-
_aliasConnections() protected
Add aliases for all non test prefixed connections. -
_fixtureConnections() protected
Get the unique list of connections that a set of fixtures contains. -
_initDb() protected
Initializes this class with a DataSource object to use as default for all fixtures -
_loadFixtures() protected
Looks for fixture files and instantiates the classes accordingly -
_runOperation() protected
Run a function on each connection and collection of fixtures. -
_setupTable() protected
Runs the drop and create commands on the fixtures if necessary. -
fixturize() public
Inspects the test to look for unloaded fixtures and loads them -
isFixtureSetup() public
Check whether or not a fixture has been inserted in a given connection name. -
load() public
Creates the fixtures tables and inserts data on them. -
loadSingle() public
Creates a single fixture table and loads data into it. -
loaded() public
Get the loaded fixtures. -
setDebug() public
Modify the debug mode. -
shutDown() public
Drop all fixture tables loaded by this class -
unload() public
Truncates the fixtures tables
Method Detail
_aliasConnections() protected ¶
_aliasConnections( )
Add aliases for all non test prefixed connections.
This allows models to use the test connections without a pile of configuration work.
_fixtureConnections() 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
An array of connection names.
_initDb() protected ¶
_initDb( )
Initializes this class with a DataSource object to use as default for all fixtures
_loadFixtures() 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
when a referenced fixture does not exist.
_runOperation() 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.
_setupTable() protected ¶
_setupTable( Cake\Datasource\FixtureInterface
$fixture , Cake\Database\Connection
$db , array $sources , boolean $drop true )
Runs the drop and create commands on the fixtures if necessary.
Parameters
-
Cake\Datasource\FixtureInterface
$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
fixturize() 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.
isFixtureSetup() 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
load() 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
loadSingle() public ¶
loadSingle( string $name , Cake\Datasource\ConnectionInterface
|null $db null , boolean $dropTables true )
Creates a single fixture table and loads data into it.
Parameters
- string $name
- of the fixture
-
Cake\Datasource\ConnectionInterface
|null $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
if $name is not a previously loaded class
setDebug() public ¶
setDebug( boolean $debug )
Modify the debug mode.
Parameters
- boolean $debug
- Whether or not fixture debug mode is enabled.
unload() public ¶
unload( Cake\TestSuite\TestCase
$test )
Truncates the fixtures tables
Parameters
-
Cake\TestSuite\TestCase
$test - The test to inspect for fixture unloading.
Properties detail
$_debug ¶
Is the test runner being run with --debug
enabled.
When true, fixture SQL will also be logged.
false
$_fixtureMap ¶
Cake\Datasource\FixtureInterface[]
Holds the fixture classes that where instantiated indexed by class name
[]
$_loaded ¶
Cake\Datasource\FixtureInterface[]
Holds the fixture classes that where instantiated
[]