CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 4.4 Strawberry API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 4.4
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
      • Constraint
      • Fixture
      • Stub
    • Utility
    • Validation
    • View

Class TestFixture

Cake TestFixture is responsible for building and destroying tables to be used during testing.

Namespace: Cake\TestSuite\Fixture

Property Summary

  • $_constraints protected
    array<string, mixed>

    Fixture constraints to be created.

  • $_schema protected
    Cake\Database\Schema\TableSchemaInterface&Cake\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
\Cake\ORM\TableLocator::get()

getTableLocator() ¶ public

getTableLocator(): Cake\ORM\Locator\LocatorInterface

Gets the table locator.

Returns
Cake\ORM\Locator\LocatorInterface

getTableSchema() ¶ public

getTableSchema(): Cake\Database\Schema\TableSchemaInterface&Cake\Database\Schema\SqlGeneratorInterface

Get and set the schema for this fixture.

Returns
Cake\Database\Schema\TableSchemaInterface&Cake\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\TableSchemaInterface&Cake\Database\Schema\SqlGeneratorInterface $schema): $this

Get and set the schema for this fixture.

Parameters
Cake\Database\Schema\TableSchemaInterface&Cake\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\TableSchemaInterface&Cake\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
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs