InitDbFixture
API reference › yii › test › InitDbFixture
InitDbFixture represents the initial state needed for DB-related tests.
Its main task is to toggle integrity check of the database during data loading.
This is needed by other DB-related fixtures (e.g. ActiveFixture) so that they can populate
data into the database without triggering integrity check errors.
Besides, DbFixture also attempts to load an initialization script if it exists.
You should normally use InitDbFixture to prepare a skeleton test database. Other DB fixtures will then add specific tables and data to this database.
For more details and usage information on InitDbFixture, see the guide article on fixtures.
Properties
Section titled “Properties”| Property | Type | Description | Defined by |
|---|---|---|---|
$behaviors read-only | array<yii\<static>> | List of behaviors attached to this component. | yii\ |
$db | yii\| | The DB connection object or the application component ID of the DB connection. Default: 'db'. | DbFixture |
$depends | array | The fixtures that this fixture depends on. Default: []. | Fixture |
$initScript | string | The init script file that should be executed when loading this fixture. Default: '@app/tests/fixtures/initdb.php'. | InitDbFixture |
$schemas | array | List of database schemas that the test tables may reside in. Default: ['']. | InitDbFixture |
Methods
Section titled “Methods”| Method | Description | Defined by |
|---|---|---|
__construct() | Constructor. | yii\ |
__call() | Calls the named method which is not a class method. | yii\ |
__clone() | This method is called after the object is created by cloning an existing one. | yii\ |
__get() | Returns the value of a component property. | yii\ |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\ |
__set() | Sets the value of a component property. | yii\ |
__unset() | Sets a component property to be null. | yii\ |
afterLoad() | This method is called AFTER all fixture data have been loaded for the current test. | InitDbFixture |
afterUnload() | This method is called AFTER all fixture data have been unloaded for the current test. | InitDbFixture |
attachBehavior() | Attaches a behavior to this component. | yii\ |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\ |
beforeLoad() | This method is called BEFORE any fixture data is loaded for the current test. | InitDbFixture |
beforeUnload() | This method is called BEFORE any fixture data is unloaded for the current test. | InitDbFixture |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\ |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\ |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\ |
checkIntegrity() | Toggles the DB integrity check. | InitDbFixture |
className() static | Returns the fully qualified name of this class. | yii\ |
detachBehavior() | Detaches a behavior from the component. | yii\ |
detachBehaviors() | Detaches all behaviors from the component. | yii\ |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\ |
getBehavior() | Returns the named behavior object. | yii\ |
getBehaviors() | Returns all behaviors attached to this component. | yii\ |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\ |
hasMethod() | Returns a value indicating whether a method is defined. | yii\ |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\ |
init() | Initializes the object. | DbFixture |
load() | Loads the fixture. | InitDbFixture |
off() | Detaches an existing event handler from this component. | yii\ |
on() | Attaches an event handler to an event. | yii\ |
trigger() | Triggers an event. | yii\ |
unload() | Unloads the fixture. | Fixture |
Property details
Section titled “Property details”$initScript
Section titled “$initScript ”public string $initScript = '@app/tests/fixtures/initdb.php'The init script file that should be executed when loading this fixture.
This should be either a file path or path alias. Note that if the file does not exist, no error will be raised.
$schemas
Section titled “$schemas ”public array $schemas = ['']List of database schemas that the test tables may reside in.
Defaults to
[''], meaning using the default schema (an empty string refers to the
default schema). This property is mainly used when turning on and off integrity checks
so that fixture data can be populated into the database without causing problem.
Method details
Section titled “Method details”afterLoad()
Section titled “afterLoad() ”public function afterLoad(): mixedThis method is called AFTER all fixture data have been loaded for the current test.
Returns
mixed
afterUnload()
Section titled “afterUnload() ”public function afterUnload(): mixedThis method is called AFTER all fixture data have been unloaded for the current test.
Returns
mixed
beforeLoad()
Section titled “beforeLoad() ”public function beforeLoad(): mixedThis method is called BEFORE any fixture data is loaded for the current test.
Returns
mixed
beforeUnload()
Section titled “beforeUnload() ”public function beforeUnload(): mixedThis method is called BEFORE any fixture data is unloaded for the current test.
Returns
mixed
checkIntegrity()
Section titled “checkIntegrity() ”public function checkIntegrity(bool $check): mixedToggles the DB integrity check.
Parameters
| Parameter | Type | Description |
|---|---|---|
$check | bool | Whether to turn on or off the integrity check. |
Returns
mixed
load()
Section titled “load() ”public function load(): mixedLoads the fixture.
This method is called before performing every test method. You should override this method with concrete implementation about how to set up the fixture.
Returns
mixed