Class FixtureManager
A factory class to manage the life cycle of test fixtures
Properties summary
- $_debug protected
bool
Is the test runner being run with
--debug
enabled. - $_fixtureMap protected
\Cake\Datasource\FixtureInterface[]
Holds the fixture classes that where instantiated indexed by class name
- $_initialized protected
bool
Was this instance already initialized?
- $_insertionMap protected
array
A map of connection names and the fixture currently in it.
- $_loaded protected
\Cake\Datasource\FixtureInterface[]
Holds the fixture classes that where instantiated
- $_processed protected
array
List of TestCase class name that have been processed
Method Summary
- _initDb() protected
Initializes this class with a DataSource object to use as default for all fixtures
- isFixtureSetup() public
Check whether or not a fixture has been inserted in a given connection name.
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
-
string[]
$fixtures The array of fixtures a list of connections is needed from.
Returns
array
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
UnexpectedValueException
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
-
string[]
$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\Datasource\ConnectionInterface $db, array $sources, bool $drop)
Runs the drop and create commands on the fixtures if necessary.
Parameters
-
\Cake\Datasource\FixtureInterface
$fixture the fixture object to create
-
\Cake\Datasource\ConnectionInterface
$db The Connection object instance to use
-
string[]
$sources The existing tables in the datasource.
-
bool
$drop optional 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
bool
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
Cake\Core\Exception\Exception
When fixture records cannot be inserted.
RuntimeException
loadSingle() public
loadSingle(string $name, ?\Cake\Datasource\ConnectionInterface $db, bool $dropTables)
Creates a single fixture table and loads data into it.
Parameters
-
string
$name of the fixture
-
\Cake\Datasource\ConnectionInterface|null
$db optional Connection instance or null to get a Connection from the fixture.
-
bool
$dropTables optional Whether or not tables should be dropped and re-created.
Throws
UnexpectedValueException
if $name is not a previously loaded class
loaded() public
loaded()
Get the loaded fixtures.
Returns
\Cake\Datasource\FixtureInterface[]
setDebug() public
setDebug(bool $debug)
Modify the debug mode.
Parameters
-
bool
$debug Whether or not fixture debug mode is enabled.
shutDown() public
shutDown()
Drop all fixture tables loaded by this class
unload() public
unload(\Cake\TestSuite\TestCase $test)
Truncates the fixtures tables
Parameters
-
\Cake\TestSuite\TestCase
$test The test to inspect for fixture unloading.
Property Detail
$_debug protected
Is the test runner being run with --debug
enabled.
When true, fixture SQL will also be logged.
Type
bool
$_fixtureMap protected
Holds the fixture classes that where instantiated indexed by class name
Type
\Cake\Datasource\FixtureInterface[]
$_initialized protected
Was this instance already initialized?
Type
bool
$_insertionMap protected
A map of connection names and the fixture currently in it.
Type
array
$_loaded protected
Holds the fixture classes that where instantiated
Type
\Cake\Datasource\FixtureInterface[]
$_processed protected
List of TestCase class name that have been processed
Type
array
© 2005–present 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/4.0/class-Cake.TestSuite.Fixture.FixtureManager.html