Trait yii\test\FixtureTrait
| Реализовано в | yii\codeception\DbTestCase, yii\codeception\TestCase, yii\console\controllers\FixtureController, yii\faker\FixtureController |
|---|---|
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/test/FixtureTrait.php |
FixtureTrait предоставляет функциональность для загрузки, выгрузки и доступа к фикстурам для тестового случая.
Используя FixtureTrait, класс теста сможет указать, какие фикстуры загрузить, переопределяя метод fixtures(). Затем он может загрузить и выгрузить фикстуры, используя loadFixtures() и unloadFixtures(). После загрузки фикстуры можно получить доступ к ней как к свойству объекта, благодаря магическому методу PHP __get(). Кроме того, если фикстура является экземпляром yii\test\ActiveFixture, вы сможете получить доступ к моделям AR с помощью синтаксиса $this->fixtureName('model name').
Для получения более подробной информации и использования FixtureTrait см. статью в руководстве о фикстурах.
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| fixtures() | Объявляет фикстуры, необходимые для текущего тестового случая. | yii\test\FixtureTrait |
| getFixture() | Возвращает фикстуру по имени. | yii\test\FixtureTrait |
| getFixtures() | Возвращает объекты фикстур, как указано в globalFixtures() и fixtures(). | yii\test\FixtureTrait |
| globalFixtures() | Объявляет фикстуры, которые используются для разных тестовых случаев. | yii\test\FixtureTrait |
| initFixtures() | Инициализирует фикстуры | yii\test\FixtureTrait |
| loadFixtures() | Загружает указанные фикстуры. | yii\test\FixtureTrait |
| unloadFixtures() | Выгружает указанные фикстуры. | yii\test\FixtureTrait |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| createFixtures() | Создает указанные экземпляры фикстур. | yii\test\FixtureTrait |
Подробное описание методов
createFixtures() защищенный метод
Создает указанные экземпляры фикстур.
Также будут созданы все зависимые фикстуры.
| protected yii\test\Fixture[] createFixtures ( массив $fixtures ) | ||
|---|---|---|
| $fixtures | массив |
Фикстуры, которые должны быть созданы. Вы можете указать имена фикстур или конфигурации фикстур. Если этот параметр не указан, будут созданы фикстуры, указанные в globalFixtures() и fixtures(). |
| return | yii\test\Fixture[] |
Созданные экземпляры фикстур |
| throws | yii\base\InvalidConfigException |
если фикстуры не настроены должным образом или если обнаружена циклическая зависимость между фикстурами. |
fixtures() публичный метод
Объявляет фикстуры, необходимые для текущего тестового случая.
Значение, возвращаемое этим методом, должно быть массивом конфигураций фикстур. Например,
[
// anonymous fixture
PostFixture::className(),
// "users" fixture
'users' => UserFixture::className(),
// "cache" fixture with configuration
'cache' => [
'class' => CacheFixture::className(),
'host' => 'xxx',
],
]
Обратите внимание, что фактические фикстуры, используемые для тестового случая, включают как globalFixtures(), так и fixtures().
| public массив fixtures ( ) | ||
|---|---|---|
| return | массив |
Необходимые для текущего тестового случая фикстуры |
getFixture() публичный метод
Возвращает фикстуру по имени.
| public yii\test\Fixture getFixture ( $name ) | ||
|---|---|---|
| $name | строка |
Имя фикстуры. Это может быть имя псевдонима фикстуры или имя класса, если псевдоним не используется. |
| return | yii\test\Fixture |
Объект фикстуры или null, если фикстура с указанным именем не существует. |
getFixtures() публичный метод
Возвращает объекты фикстур, как указано в globalFixtures() и fixtures().
| public yii\test\Fixture[] getFixtures ( ) | ||
|---|---|---|
| return | yii\test\Fixture[] |
Загруженные фикстуры для текущего тестового случая |
globalFixtures() публичный метод
Объявляет фикстуры, которые используются для разных тестовых случаев.
Возвращаемое значение должно быть аналогично fixtures(). Обычно вы должны переопределить этот метод в базовом классе.
См. также fixtures().
| public массив globalFixtures ( ) | ||
|---|---|---|
| return | массив |
Фикстуры, используемые для разных тестовых случаев. |
initFixtures() публичный метод (доступен с версии 2.0.12)
Инициализирует фикстуры
| public void initFixtures ( ) |
|---|
loadFixtures() публичный метод
Загружает указанные фикстуры.
Этот метод вызовет yii\test\Fixture::load() для каждого объекта фикстуры.
| public void loadFixtures ( $fixtures = null ) | ||
|---|---|---|
| $fixtures | yii\test\Fixture[] |
Фикстуры, которые должны быть загружены. Если этот параметр не указан, будет использовано значение, возвращаемое getFixtures(). |
unloadFixtures() публичный метод
Выгружает указанные фикстуры.
Этот метод вызовет yii\test\Fixture::unload() для каждого объекта фикстуры.
| public void unloadFixtures ( $fixtures = null ) | ||
|---|---|---|
| $fixtures | yii\test\Fixture[] |
Фикстуры, которые должны быть загружены. Если этот параметр не указан, будет использовано значение, возвращаемое getFixtures(). |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-test-fixturetrait.html