Implemented by | yii\codeception\DbTestCase, yii\codeception\TestCase, yii\console\controllers\FixtureController, yii\faker\FixtureController |
---|---|
Available since version | 2.0 |
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/test/FixtureTrait.php |
FixtureTrait provides functionalities for loading, unloading and accessing fixtures for a test case.
By using FixtureTrait, a test class will be able to specify which fixtures to load by overriding the fixtures() method. It can then load and unload the fixtures using loadFixtures() and unloadFixtures(). Once a fixture is loaded, it can be accessed like an object property, thanks to the PHP __get()
magic method. Also, if the fixture is an instance of yii\test\ActiveFixture, you will be able to access AR models through the syntax $this->fixtureName('model name')
.
For more details and usage information on FixtureTrait, see the guide article on fixtures.
Method | Description | Defined By |
---|---|---|
fixtures() | Declares the fixtures that are needed by the current test case. | yii\test\FixtureTrait |
getFixture() | Returns the named fixture. | yii\test\FixtureTrait |
getFixtures() | Returns the fixture objects as specified in globalFixtures() and fixtures(). | yii\test\FixtureTrait |
globalFixtures() | Declares the fixtures shared required by different test cases. | yii\test\FixtureTrait |
initFixtures() | Initialize the fixtures | yii\test\FixtureTrait |
loadFixtures() | Loads the specified fixtures. | yii\test\FixtureTrait |
unloadFixtures() | Unloads the specified fixtures. | yii\test\FixtureTrait |
Method | Description | Defined By |
---|---|---|
createFixtures() | Creates the specified fixture instances. | yii\test\FixtureTrait |
Creates the specified fixture instances.
All dependent fixtures will also be created.
protected yii\test\Fixture[] createFixtures ( array $fixtures ) | ||
---|---|---|
$fixtures | array |
The fixtures to be created. You may provide fixture names or fixture configurations. If this parameter is not provided, the fixtures specified in globalFixtures() and fixtures() will be created. |
return | yii\test\Fixture[] |
The created fixture instances |
throws | yii\base\InvalidConfigException |
if fixtures are not properly configured or if a circular dependency among the fixtures is detected. |
Declares the fixtures that are needed by the current test case.
The return value of this method must be an array of fixture configurations. For example,
[ // anonymous fixture PostFixture::className(), // "users" fixture 'users' => UserFixture::className(), // "cache" fixture with configuration 'cache' => [ 'class' => CacheFixture::className(), 'host' => 'xxx', ], ]
Note that the actual fixtures used for a test case will include both globalFixtures() and fixtures().
public array fixtures ( ) | ||
---|---|---|
return | array |
The fixtures needed by the current test case |
Returns the named fixture.
public yii\test\Fixture getFixture ( $name ) | ||
---|---|---|
$name | string |
The fixture name. This can be either the fixture alias name, or the class name if the alias is not used. |
return | yii\test\Fixture |
The fixture object, or null if the named fixture does not exist. |
Returns the fixture objects as specified in globalFixtures() and fixtures().
public yii\test\Fixture[] getFixtures ( ) | ||
---|---|---|
return | yii\test\Fixture[] |
The loaded fixtures for the current test case |
Declares the fixtures shared required by different test cases.
The return value should be similar to that of fixtures(). You should usually override this method in a base class.
See also fixtures().
public array globalFixtures ( ) | ||
---|---|---|
return | array |
The fixtures shared and required by different test cases. |
Initialize the fixtures
public void initFixtures ( ) |
---|
Loads the specified fixtures.
This method will call yii\test\Fixture::load() for every fixture object.
public void loadFixtures ( $fixtures = null ) | ||
---|---|---|
$fixtures | yii\test\Fixture[] |
The fixtures to be loaded. If this parameter is not specified, the return value of getFixtures() will be used. |
Unloads the specified fixtures.
This method will call yii\test\Fixture::unload() for every fixture object.
public void unloadFixtures ( $fixtures = null ) | ||
---|---|---|
$fixtures | yii\test\Fixture[] |
The fixtures to be loaded. If this parameter is not specified, the return value of getFixtures() will be used. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-test-fixturetrait.html