On this page
Class TestFixture
Cake TestFixture is responsible for building and destroying tables to be used during testing.
Property Summary
-
$_constraints protected
array<string, mixed>
Fixture constraints to be created.
-
$_schema protected
Cake\Database\Schema\TableSchemaInterfaceCake\Database\Schema\SqlGeneratorInterface
The schema for this fixture.
-
$_tableLocator protected
Cake\ORM\Locator\LocatorInterface|null
Table locator instance
-
$connection public
string
Fixture Datasource
-
$defaultTable protected
string|null
This object's default table alias.
-
$fields public
array
Fields / Schema for the fixture.
-
$import public
array|null
Configuration for importing fixture schema
-
$records public
array
Fixture records to be inserted.
-
$table public
string
Full Table Name
Method Summary
__construct() public
Instantiate the fixture.
_getRecords() protected
Converts the internal records into data used to generate a query.
_schemaFromFields() protected
Build the fixtures table schema from the fields property.
_schemaFromImport() protected
Build fixture schema from a table in another datasource.
_schemaFromReflection() protected
Build fixture schema directly from the datasource
_tableFromClass() protected
Returns the table name using the fixture class
connection() public
Get the connection name this fixture should be inserted into.
create() public
Create the fixture schema/mapping/definition
createConstraints() public
Build and execute SQL queries necessary to create the constraints for the fixture
drop() public
Run after all tests executed, should remove the table/collection from the connection.
dropConstraints() public
Build and execute SQL queries necessary to drop the constraints for the fixture
fetchTable() public
Convenience method to get a table instance.
getTableLocator() public
Gets the table locator.
getTableSchema() public
Get and set the schema for this fixture.
init() public
Initialize the fixture.
insert() public
Run before each test is executed.
setTableLocator() public
Sets the table locator.
setTableSchema() public
Get and set the schema for this fixture.
sourceName() public
Get the table/collection name for this fixture.
truncate() public
Truncates the current fixture.
Method Detail
__construct() public
__construct()
Instantiate the fixture.
Throws
Cake\Core\Exception\CakeException
on invalid datasource usage.
_getRecords() protected
_getRecords(): array
Converts the internal records into data used to generate a query.
Returns
array
_schemaFromFields() protected
_schemaFromFields(): void
Build the fixtures table schema from the fields property.
Returns
void
_schemaFromImport() protected
_schemaFromImport(): void
Build fixture schema from a table in another datasource.
Returns
void
Throws
Cake\Core\Exception\CakeException
when trying to import from an empty table.
_schemaFromReflection() protected
_schemaFromReflection(): void
Build fixture schema directly from the datasource
Returns
void
Throws
Cake\Core\Exception\CakeException
when trying to reflect a table that does not exist
_tableFromClass() protected
_tableFromClass(): string
Returns the table name using the fixture class
Returns
string
connection() public
connection(): string
Get the connection name this fixture should be inserted into.
Returns
string
create() public
create(Cake\Datasource\ConnectionInterface $connection): bool
Create the fixture schema/mapping/definition
Parameters
Cake\Datasource\ConnectionInterface
$connection
Returns
bool
createConstraints() public
createConstraints(Cake\Datasource\ConnectionInterface $connection): bool
Build and execute SQL queries necessary to create the constraints for the fixture
Parameters
Cake\Datasource\ConnectionInterface
$connection
Returns
bool
drop() public
drop(Cake\Datasource\ConnectionInterface $connection): bool
Run after all tests executed, should remove the table/collection from the connection.
Parameters
Cake\Datasource\ConnectionInterface
$connection
Returns
bool
dropConstraints() public
dropConstraints(Cake\Datasource\ConnectionInterface $connection): bool
Build and execute SQL queries necessary to drop the constraints for the fixture
Parameters
Cake\Datasource\ConnectionInterface
$connection
Returns
bool
fetchTable() public
fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table
Convenience method to get a table instance.
Parameters
string|null
$alias optional-
The alias name you want to get. Should be in CamelCase format. If
null
then the value of $defaultTable property is used. array<string, mixed>
$options optional-
The options you want to build the table with. If a table has already been loaded the registry options will be ignored.
Returns
Cake\ORM\Table
Throws
Cake\Core\Exception\CakeException
If `$alias` argument and `$defaultTable` property both are `null`.
See Also
getTableLocator() public
getTableLocator(): Cake\ORM\Locator\LocatorInterface
Gets the table locator.
Returns
Cake\ORM\Locator\LocatorInterface
getTableSchema() public
getTableSchema(): Cake\Database\Schema\TableSchemaInterfaceCake\Database\Schema\SqlGeneratorInterface
Get and set the schema for this fixture.
Returns
Cake\Database\Schema\TableSchemaInterfaceCake\Database\Schema\SqlGeneratorInterface
init() public
init(): void
Initialize the fixture.
Returns
void
Throws
Cake\ORM\Exception\MissingTableClassException
When importing from a table that does not exist.
insert() public
insert(Cake\Datasource\ConnectionInterface $connection): Cake\Database\StatementInterface|bool
Run before each test is executed.
Should insert all the records into the test database.
Parameters
Cake\Datasource\ConnectionInterface
$connection
Returns
Cake\Database\StatementInterface|bool
setTableLocator() public
setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this
Sets the table locator.
Parameters
Cake\ORM\Locator\LocatorInterface
$tableLocator-
LocatorInterface instance.
Returns
$this
setTableSchema() public
setTableSchema(Cake\Database\Schema\TableSchemaInterfaceCake\Database\Schema\SqlGeneratorInterface $schema): $this
Get and set the schema for this fixture.
Parameters
Cake\Database\Schema\TableSchemaInterfaceCake\Database\Schema\SqlGeneratorInterface
$schema
Returns
$this
sourceName() public
sourceName(): string
Get the table/collection name for this fixture.
Returns
string
truncate() public
truncate(Cake\Datasource\ConnectionInterface $connection): bool
Truncates the current fixture.
Parameters
Cake\Datasource\ConnectionInterface
$connection
Returns
bool
Property Detail
$_constraints protected
Fixture constraints to be created.
Type
array<string, mixed>
$_schema protected
The schema for this fixture.
Type
Cake\Database\Schema\TableSchemaInterfaceCake\Database\Schema\SqlGeneratorInterface
$_tableLocator protected
Table locator instance
Type
Cake\ORM\Locator\LocatorInterface|null
$connection public
Fixture Datasource
Type
string
$defaultTable protected
This object's default table alias.
Type
string|null
$fields public
Fields / Schema for the fixture.
This array should be compatible with {@link \Cake\Database\Schema\Schema}. The _constraints
, _options
and _indexes
keys are reserved for defining constraints, options and indexes respectively.
Type
array
$import public
Configuration for importing fixture schema
Accepts a connection
and model
or table
key, to define which table and which connection contain the schema to be imported.
Type
array|null
$records public
Fixture records to be inserted.
Type
array
$table public
Full Table Name
Type
string
© 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.4/class-Cake.TestSuite.Fixture.TestFixture.html