Класс FixtureManager
Класс-фабрика для управления жизненным циклом тестовых фикстур
Краткое описание свойств
-
$_debugprotectedbooleanУказывает, запущен ли тестовый прогон с включённым
--debug. При значении true, SQL-запросы фикстур также будут регистрироваться. - Содержит экземпляры классов фикстур, индексированные по имени класса.
$_fixtureMapprotected -
$_initializedprotectedБыл ли этот экземпляр уже инициализирован?boolean -
$_insertionMapprotectedСловарь имён соединений и фикстуры, находящиеся в них.array - Содержит экземпляры классов фикстур.
$_loadedprotected -
$_processedprotectedСписок имён классов TestCase, которые были обработаны.array
Краткое описание методов
- _aliasConnections() protectedДобавляет псевдонимы для всех соединений, не начинающихся с префикса «test».
- _fixtureConnections() protectedПолучение уникального списка соединений, содержащихся в наборе фикстур.
- _initDb() protectedИнициализирует этот класс с объектом DataSource, используемым по умолчанию для всех фикстур.
- _loadFixtures() protectedИщет файлы фикстур и создаёт соответствующие классы.
- _runOperation() protectedВыполнение функции для каждого соединения и набора фикстур.
- _setupTable() protectedВыполнение команд удаления и создания таблиц для фикстур при необходимости.
- fixturize() publicПроверяет тест на наличие не загруженных фикстур и загружает их.
- isFixtureSetup() publicПроверка, была ли вставлена фикстура в заданном имени соединения.
- load() publicСоздаёт таблицы фикстур и вставляет в них данные.
- loadSingle() publicСоздание одной таблицы фикстуры и загрузка данных в неё.
- loaded() publicПолучение загруженных фикстур.
- setDebug() publicИзменение режима отладки.
- shutDown() publicУдаление всех таблиц фикстур, загруженных этим классом.
- unload() publicОбнуление таблиц фикстур.
Подробное описание методов
_aliasConnections()source protected
_aliasConnections( )
Добавляет псевдонимы для всех соединений, не начинающихся с префикса «test».
Это позволяет моделям использовать тестовые соединения без большого объёма настроек.
_fixtureConnections()source protected
_fixtureConnections( array $fixtures )
Получение уникального списка соединений, содержащихся в наборе фикстур.
Параметры
- массив
$fixtures - Массив фикстур, для которых требуется список соединений.
Возвращает
массивМассив имён соединений.
_initDb()source protected
_initDb( )
Инициализирует этот класс с объектом DataSource, используемым по умолчанию для всех фикстур
_loadFixtures()source protected
_loadFixtures( Cake\TestSuite\TestCase $test )
Ищет файлы фикстур и создаёт соответствующие классы
Параметры
-
Cake\TestSuite\TestCase$test - Тестовый набор для загрузки фикстур.
Исключения
UnexpectedValueExceptionесли ссылаемая фикстура не существует.
_runOperation()source protected
_runOperation( array $fixtures , callable $operation )
Выполнение функции для каждого соединения и набора фикстур.
Параметры
- массив
$fixtures - Список фикстур для выполнения операций.
- вызов функции
$operation - Операция, которая должна быть выполнена для каждого соединения и набора фикстур.
_setupTable()source protected
_setupTable( Cake\Datasource\FixtureInterface $fixture , Cake\Database\Connection $db , array $sources , boolean $drop = true )
Выполнение команд удаления и создания таблиц для фикстур при необходимости.
Параметры
-
Cake\Datasource\FixtureInterface$fixture - объект фикстуры для создания
-
Cake\Database\Connection$db - Экземпляр объекта Connection, который следует использовать
- массив
$sources - Существующие таблицы в источнике данных.
- булево значение
$dropнеобязательно true - необходимо ли удалить фикстуру, если она уже создана
fixturize()source public
fixturize( Cake\TestSuite\TestCase $test )
Проверяет тест на наличие не загруженных фикстур и загружает их
Параметры
-
Cake\TestSuite\TestCase$test - Объект test case для проверки.
isFixtureSetup()source public
isFixtureSetup( string $connection , Cake\Datasource\FixtureInterface $fixture )
Проверка, была ли вставлена фикстура в заданном имени соединения.
Параметры
- строка
$connection - Имя соединения.
-
Cake\Datasource\FixtureInterface$fixture - Фикстура для проверки.
Возвращает
булево значениеload()source public
load( Cake\TestSuite\TestCase $test )
Создаёт таблицы фикстур и вставляет в них данные.
Параметры
-
Cake\TestSuite\TestCase$test - Тест для проверки загрузки фикстур.
Исключения
Cake\Core\Exception\ExceptionЕсли записи фикстур не могут быть вставлены.
loadSingle()source public
loadSingle( string $name , Cake\Datasource\ConnectionInterface|null $db = null , boolean $dropTables = true )
Создание одной таблицы фикстуры и загрузка данных в неё.
Параметры
- строка
$name - имя фикстуры
-
Cake\Datasource\ConnectionInterface|null$dbнеобязательно null - Экземпляр соединения или null для получения соединения из фикстуры
- булево значение
$dropTablesнеобязательно true - Необходимо ли удалять и повторно создавать таблицы.
Исключения
UnexpectedValueExceptionесли $name не является ранее загруженным классом
setDebug()source public
setDebug( boolean $debug )
Изменить режим отладки.
Параметры
- boolean
$debug - Включить или выключить режим отладки фикстур.
unload()source public
unload( Cake\TestSuite\TestCase $test )
Обнуляет таблицы фикстур
Параметры
-
Cake\TestSuite\TestCase$test - Тест для проверки разгрузки фикстур.
Подробное описание свойств
$_debugsource
protected boolean
Включен ли режим --debug в тестовом запуске. Если true, SQL-запросы фикстур также будут регистрироваться.
false
$_fixtureMapsource
protected Cake\Datasource\FixtureInterface[]
Содержит классы фикстур, которые были созданы, индексированные по имени класса
[]
$_loadedsource
protected Cake\Datasource\FixtureInterface[]
Содержит классы фикстур, которые были созданы
[]
© 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/3.8/class-Cake.TestSuite.Fixture.FixtureManager.html