Class FixtureManager
A factory class to manage the life cycle of test fixtures
Properties summary
- $_debug protected
boolIs the test runner being run with
--debugenabled. - $_fixtureMap protected
\Cake\Datasource\FixtureInterface[]Holds the fixture classes that where instantiated indexed by class name
- $_initialized protected
boolWas this instance already initialized?
- $_insertionMap protected
arrayA map of connection names and the fixture currently in it.
- $_loaded protected
\Cake\Datasource\FixtureInterface[]Holds the fixture classes that where instantiated
- $_processed protected
arrayList 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
arrayAn 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
UnexpectedValueExceptionwhen 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
boolload() 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\ExceptionWhen fixture records cannot be inserted.
RuntimeExceptionloadSingle() 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
UnexpectedValueExceptionif $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