Класс TestFixture
Cake TestFixture отвечает за создание и удаление таблиц, используемых во время тестирования.
- Cake\TestSuite\Fixture\TestFixture реализует Cake\Datasource\FixtureInterface, Cake\Datasource\TableSchemaInterface, Cake\Database\Schema\TableSchemaAwareInterface использует Cake\ORM\Locator\LocatorAwareTrait
Краткое описание свойств
-
$_constraintsprotectedОграничения фикстуры, которые должны быть созданы.array - Схема для этой фикстуры.
$_schemaprotected -
$connectionpublicИсточник данных фикстурыstring -
$fieldspublicПоля/Схема для фикстуры.array -
$importpublicНастройка для импорта схемы фикстурыarray|null -
$recordspublicЗаписи фикстуры, которые должны быть вставлены.array -
$tablepublicПолное имя таблицыstring
Унаследованные свойства
Краткое описание методов
- __construct() publicИнициализация фикстуры.
- _getRecords() protectedПреобразует внутренние записи в данные, используемые для генерации запроса.
- _schemaFromFields() protectedСоздаёт схему таблицы фикстуры из свойства fields.
- _schemaFromImport() protectedСоздаёт схему фикстуры из таблицы в другом источнике данных.
- _schemaFromReflection() protectedСоздаёт схему фикстуры непосредственно из источника данных.
- _tableFromClass() protectedВозвращает имя таблицы, используя класс фикстуры.
- connection() publicПолучить имя подключения, в которое должна быть вставлена эта фикстура.
- create() publicСоздать схему/отображение/определение фикстуры.
- createConstraints() public
Создать и выполнить SQL-запросы, необходимые для создания ограничений для фикстуры
- drop() publicВыполняется после всех тестов, должен удалить таблицу/коллекцию из подключения.
- dropConstraints() public
Создать и выполнить SQL-запросы, необходимые для удаления ограничений для фикстуры
- getTableSchema() publicПолучить и установить схему для этой фикстуры.
- init() publicИнициализировать фикстуру.
- insert() publicВыполняется перед запуском каждого теста.
- Получает/устанавливает экземпляр TableSchema, используемый этой фикстурой.
- setTableSchema() publicПолучить и установить схему для этой фикстуры.
- sourceName() publicПолучить имя таблицы/коллекции для этой фикстуры.
- truncate() publicОчищает текущую фикстуру.
Подробное описание методов
__construct()source public
__construct( )
Инициализировать фикстуру.
Исключения
Cake\Core\Exception\Exceptionпри некорректном использовании источника данных.
_getRecords()source protected
_getRecords( )
Преобразует внутренние записи в данные, используемые для генерации запроса.
Возвращает
массив_schemaFromFields()source protected
_schemaFromFields( )
Создаёт схему таблицы фикстуры из свойства fields.
_schemaFromImport()source protected
_schemaFromImport( )
Создаёт схему фикстуры из таблицы в другом источнике данных.
Исключения
Cake\Core\Exception\Exceptionпри попытке импорта из пустой таблицы.
_schemaFromReflection()source protected
_schemaFromReflection( )
Создаёт схему фикстуры непосредственно из источника данных
Исключения
Cake\Core\Exception\Exceptionпри попытке отразить таблицу, которая не существует
_tableFromClass()source protected
_tableFromClass( )
Возвращает имя таблицы, используя класс фикстуры
Возвращает
строкаconnection()source public
connection( )
Получить имя подключения, в которое должна быть вставлена эта фикстура.
Возвращает
строкаРеализация
Cake\Datasource\FixtureInterface::connection() create()source public
create( Cake\Datasource\ConnectionInterface $db )
Создать схему/отображение/определение фикстуры
Параметры
-
Cake\Datasource\ConnectionInterface$db - Экземпляр подключения, на котором должна быть создана фикстура.
Возвращает
booleanУспех – true, неудача – false.
Реализация
Cake\Datasource\FixtureInterface::create() createConstraints()source public
createConstraints( Cake\Datasource\ConnectionInterface $db )
Создать и выполнить SQL-запросы, необходимые для создания ограничений для фикстуры
Параметры
-
Cake\Datasource\ConnectionInterface$db - Экземпляр базы данных, в которой будут созданы ограничения
Возвращает
booleanУспех или отсутствие ограничений – true, неудача – false
Реализация
Cake\Datasource\FixtureInterface::createConstraints() drop()source public
drop( Cake\Datasource\ConnectionInterface $db )
Выполняется после всех тестов, должен удалить таблицу/коллекцию из подключения.
Параметры
-
Cake\Datasource\ConnectionInterface$db - Экземпляр подключения, из которого должна быть удалена фикстура.
Возвращает
booleanУспех – true, неудача – false.
Реализация
Cake\Datasource\FixtureInterface::drop() dropConstraints()source public
dropConstraints( Cake\Datasource\ConnectionInterface $db )
Построение и выполнение SQL-запросов, необходимых для удаления ограничений для фикстуры
Параметры
-
Cake\Datasource\ConnectionInterface$db - Экземпляр базы данных, в которую будут удалены ограничения
Возвращает
booleanпри успехе или если ограничений для удаления нет, или false при ошибке
Реализация
Cake\Datasource\FixtureInterface::dropConstraints() getTableSchema()source public
getTableSchema( )
Получение и установка схемы для данной фикстуры.
Возвращает
Cake\Database\Schema\TableSchemaInterface|nullРеализация
Cake\Database\Schema\TableSchemaAwareInterface::getTableSchema() init()source public
init( )
Инициализация фикстуры.
Вызывает
Cake\ORM\Exception\MissingTableClassExceptionПри импорте из таблицы, которой не существует.
insert()source public
insert( Cake\Datasource\ConnectionInterface $db )
Выполняется перед выполнением каждого теста.
Параметры
-
Cake\Datasource\ConnectionInterface$db - Экземпляр соединения, в который будут вставлены записи.
Возвращает
Cake\Database\StatementInterface|booleanпри успехе или если записей для вставки нет, или false при ошибке.
Реализация
Cake\Datasource\FixtureInterface::insert() schema()source public deprecated
schema( Cake\Database\Schema\TableSchema $schema = null )
Получает/устанавливает экземпляр TableSchema, используемый данной фикстурой.
Устарело
3.5.0 Используйте getTableSchema/setTableSchema вместо этого.Параметры
-
Cake\Database\Schema\TableSchema$schemaнеобязательно null - Таблица для установки.
Возвращает
Cake\Database\Schema\TableSchema|nullРеализация
Cake\Datasource\TableSchemaInterface::schema() setTableSchema()source public
setTableSchema( Cake\Database\Schema\TableSchemaInterface $schema )
Получение и установка схемы для этой фикстуры.
Параметры
-
Cake\Database\Schema\TableSchemaInterface$schema - Таблица для установки.
Возвращает
$this
Реализация
Cake\Database\Schema\TableSchemaAwareInterface::setTableSchema() sourceName()source public
sourceName( )
Получение имени таблицы/коллекции для данной фикстуры.
Возвращает
stringРеализация
Cake\Datasource\FixtureInterface::sourceName() truncate()source public
truncate( Cake\Datasource\ConnectionInterface $db )
Очистка текущей фикстуры.
Параметры
-
Cake\Datasource\ConnectionInterface$db - Ссылка на экземпляр db
Возвращает
booleanРеализация
Cake\Datasource\FixtureInterface::truncate() Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait
getTableLocator()source public
getTableLocator( )
Получение локатора таблиц.
Возвращает
Cake\ORM\Locator\LocatorInterfacesetTableLocator()source public
setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )
Установка локатора таблиц.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator - Экземпляр LocatorInterface.
Возвращает
$this
tableLocator()source public deprecated
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator = null )
Установка локатора таблиц. Если параметры не переданы, возвращает текущий используемый локатор.
Устарело
3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorнеобязательно null - Экземпляр LocatorInterface.
Возвращает
Cake\ORM\Locator\LocatorInterfaceМагические методы, унаследованные от Cake\Datasource\TableSchemaInterface
getTableSchema() |
Подробное описание свойств
$fieldssource
public array
Поля/Схема фикстуры.
Этот массив должен быть совместим с Cake\Database\Schema\Schema. Ключи _constraints, _options и _indexes зарезервированы для определения ограничений, опций и индексов соответственно.
[]
$importsource
public array|null
Настройка для импорта схемы фикстуры
Принимает ключ connection и model или table для определения таблицы и соединения, содержащих импортируемую схему.
© 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.6/class-Cake.TestSuite.Fixture.TestFixture.html