Класс 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 - Экземпляр соединения, на котором должна быть создана фикстура.
Возвращает
булевоИстина при успехе, ложь при неудаче.
Реализация
Cake\Datasource\FixtureInterface::create() createConstraints()source public
createConstraints( Cake\Datasource\ConnectionInterface $db )
Построение и выполнение SQL-запросов, необходимых для создания ограничений для фикстуры
Параметры
-
Cake\Datasource\ConnectionInterface$db - Экземпляр базы данных, в которой будут созданы ограничения
Возвращает
булевоИстина при успехе или если ограничений нет, иначе ложь.
Реализация
Cake\Datasource\FixtureInterface::createConstraints() drop()source public
drop( Cake\Datasource\ConnectionInterface $db )
Выполняется после выполнения всех тестов, должно удалить таблицу/коллекцию из соединения.
Параметры
-
Cake\Datasource\ConnectionInterface$db - Экземпляр соединения, из которого должна быть удалена фикстура.
Возвращает
булевоИстина при успехе, ложь при неудаче.
Реализация
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$schemaoptional 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 - Ссылка на экземпляр базы данных
Возвращает
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$tableLocatoroptional 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.8/class-Cake.TestSuite.Fixture.TestFixture.html