Класс TestTask
Класс задач для создания и обновления тестовых файлов.
- AppShell
-
BakeTask
-
TestTask
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Console/Command/Task/TestTask.php
Краткое описание свойств
-
$_fixturesprotectedВнутренний список фикстур, которые были добавлены до сих пор.array -
$baseTypespublicarrayСопоставление между пакетами и их базовым классом + пакетом. Используется для генерации вызовов App::uses() для автоматической загрузки базовых классов, если разработчик забыл это сделать.
-
$classTypespublicТипы классов, для которых могут быть сгенерированы методы.array -
$pathpublicПуть к каталогу TESTS.string -
$taskspublicИспользуемые задачи.array
Унаследованные свойства
Краткое описание методов
- _addFixture() protected
Добавление имени класса в список фикстур. Устанавливает префикс app. или plugin.plugin_name.
- _interactive() protectedОбработка интерактивного выпекания
- _processController() protected
Обработка всех моделей, прикрепленных к контроллеру, и генерация списка фикстур.
- _processModel() protected
Рекурсивная обработка модели и извлечение всех имен моделей, преобразование их в имена фикстур.
- bake() publicЗавершение генерации данных для создания тестового случая.
- buildTestSubject() public
Создание экземпляра класса, который будет тестироваться. Чтобы фикстуры могли быть обнаружены
- execute() publicМетод выполнения, всегда используемый для задач
- generateConstructor() publicГенерация фрагмента кода конструктора для типа и имени класса
- generateFixtureList() public
Генерация списка фикстур, необходимых для выполнения этого теста на основе загруженных моделей.
- generateUses() publicГенерация вызовов uses() для типа и имени класса
- getBaseType() publicПолучение базового класса и имени пакета для заданного типа.
- getClassName() publicПолучение выбранного пользователем имени класса для выбранного типа.
- getObjectType() publicВзаимодействие с пользователем и получение выбранного типа. Может завершить выполнение скрипта.
- getOptionParser() publicПолучение экземпляра парсера параметров и его настройка.
- getRealClassName() public
Получение истинного имени класса из сокращенной формы Cake. Если имя класса уже имеет суффикс типа, тип не будет дублироваться.
- getTestableMethods() public
Получение методов, объявленных в заданном классе. Методы родительских классов не будут возвращены.
- getUserFixtures() publicВзаимодействие с пользователем для получения дополнительных фикстур, которые он хочет использовать.
- hasMockClass() public
Требуется ли класс-мока для этого типа теста? Контроллеры требуют класс-мока.
- isLoadableClass() publicПроверка, загружен ли класс с заданным пакетом или может быть загружен.
- mapType() publicСопоставление типов, используемых TestTask, с конкретными типами, которые может использовать App::uses.
- testCaseFileName() public
Создание имени файла тестового случая. Разрешение суффиксов для контроллеров и получение пути к плагину, если необходимо.
- typeCanDetectFixtures() public
Проверка, может ли выбранный тип найти свои собственные фикстуры. В настоящее время поддерживаются только модели и контроллеры.
Подробное описание методов
_addFixture()source protected
_addFixture( string $name )
Добавление имени класса в список фикстур. Устанавливает префикс app. или plugin.plugin_name.
Параметры
- строка
$name - Имя класса модели, для которой может потребоваться фикстура.
_interactive()source protected
_interactive( string $type null )
Обработка интерактивного выпекания
Параметры
- строка
$typeнеобязательно null - Тип объекта, для которого нужно создать тестовый случай.
Возвращает
строка|логическое значение_processController()source protected
_processController( Controller $subject )
Обработка всех моделей, прикрепленных к контроллеру, и генерация списка фикстур.
Параметры
-
Controller$subject - Контроллер, из которого извлекаются имена моделей.
_processModel()source protected
_processModel( Model $subject )
Рекурсивная обработка модели и извлечение всех имен моделей, преобразование их в имена фикстур.
Параметры
-
Model$subject - Класс модели, который нужно просканировать на наличие ассоциаций и извлечь фикстуры.
bake()source public
bake( string $type , string $className )
Завершение генерации данных для создания тестового случая.
Параметры
- строка
$type - Тип объекта, для которого нужно создать тестовый случай, например, Model, Controller
- строка
$className - «Идентификатор Cake» для класса, например, Posts для PostsController
Возвращает
строка|логическое значениеbuildTestSubject()source public
buildTestSubject( string $type , string $class )
Создание экземпляра класса, который будет тестироваться. Чтобы фикстуры могли быть обнаружены
Параметры
- строка
$type - Тип объекта, для которого генерируются тесты, например, controller
- строка
$class - Имя класса, для которого генерируется тест.
Возвращает
объектЭкземпляр класса, который будет тестироваться.
execute()source public
execute( )
Метод выполнения, всегда используемый для задач
Переопределяет
BakeTask::execute() generateConstructor()source public
generateConstructor( string $type , string $fullClassName , string $plugin )
Сгенерировать фрагмент кода конструктора для типа и имени класса
Параметры
- строка
$type - Тип объекта, для которого генерируются тесты, например, контроллер
- строка
$fullClassName - Имя класса, для которого генерируется тест.
- строка
$plugin - Имя плагина.
Возвращает
массивФрагменты кода конструктора для создаваемого объекта.
generateFixtureList()source public
generateFixtureList( CakeObject $subject )
Сгенерировать список фикстур, которые понадобятся для выполнения этого теста на основе загруженных моделей.
Параметры
-
CakeObject$subject - Объект, для которого нужно сгенерировать фикстуры.
Возвращает
массивМассив фикстур, которые нужно включить в тест.
generateUses()source public
generateUses( string $type , string $realType , string $className )
Сгенерировать вызовы uses() для типа и имени класса
Параметры
- строка
$type - Тип объекта, для которого генерируются тесты, например, контроллер
- строка
$realType - Имя пакета для класса.
- строка
$className - Имя класса, для которого генерируется тест.
Возвращает
массивМассив, содержащий используемые классы
getBaseType()source public
getBaseType( string $type )
Получить базовый класс и имя пакета для данного типа.
Параметры
- строка
$type Тип класса, для которого генерируется тест.
Возвращает
массивМассив (класс, тип)
Исключения
CakeExceptionпри неверных типах.
getClassName()source public
getClassName( string $objectType )
Получить выбранное пользователем имя класса для выбранного типа
Параметры
- строка
$objectType - Тип объекта, для которого необходимо вывести список классов, например, модель, контроллер.
Возвращает
строкаИмя класса, выбранное пользователем.
getObjectType()source public
getObjectType( )
Взаимодействовать с пользователем и получить выбранный им тип. Может завершить выполнение скрипта.
Возвращает
строкаВыбранный пользователем тип.
getOptionParser()source public
getOptionParser( )
Получает экземпляр парсера опций и настраивает его.
Возвращает
ConsoleOptionParsergetRealClassName()source public
getRealClassName( string $type , string $class )
Получает реальное имя класса из короткой формы Cake. Если имя класса уже имеет суффикс типа, тип не будет дублироваться.
Параметры
- строка
$type - Тип объекта, для которого генерируются тесты, например, контроллер
- строка
$class - имя класса, для которого генерируется тест.
Возвращает
строкаРеальное имя класса
getTestableMethods()source public
getTestableMethods( string $className )
Получить объявленные в классе методы. Методы родительских классов не будут возвращены
Параметры
- строка
$className - Имя класса для просмотра.
Возвращает
массивМассив имён методов.
getUserFixtures()source public
getUserFixtures( )
Взаимодействие с пользователем для получения дополнительных фикстур, которые он хочет использовать.
Возвращает
массивМассив фикстур, которые пользователь хочет добавить.
hasMockClass()source public
hasMockClass( string $type )
Необходим ли класс-модель для этого типа теста? Для контроллеров необходим класс-модель.
Параметры
- строка
$type - Тип объекта, для которого генерируются тесты, например, контроллер.
Возвращает
булево значениеisLoadableClass()source public
isLoadableClass( string $package , string $class )
Проверка, загружен ли класс с указанным пакетом или может быть загружен.
Параметры
- строка
$package - Пакет объекта, для которого генерируются тесты, например, контроллер
- строка
$class - Имя класса, для которого генерируется тест.
Возвращает
булево значениеmapType()source public
mapType( string $type , string $plugin )
Преобразовать типы, используемые TestTask, в конкретные типы, которые может использовать App::uses.
Параметры
- строка
$type - Тип объекта, для которого генерируется тест.
- строка
$plugin - Имя плагина.
Возвращает
строкаИсключения
CakeExceptionпри запросе неверных типов объектов.
testCaseFileName()source public
testCaseFileName( string $type , string $className )
Создание имени файла для тестового случая. Решение суффиксов для контроллеров и получение пути к плагину, если необходимо.
Параметры
- строка
$type - Тип объекта, для которого генерируются тесты, например, контроллер
- строка
$className - имя класса, для которого генерируется тест.
Возвращает
строкаИмя файла, в котором должен быть создан тест.
typeCanDetectFixtures()source public
typeCanDetectFixtures( string $type )
Проверка, может ли выбранный тип найти собственные фикстуры. В настоящее время поддерживаются только модель и контроллер
Параметры
- строка
$type - Тип объекта, для которого генерируются тесты, например, контроллер
Возвращает
булево значениеНаследуемые методы из BakeTask
getPath()source public
getPath( )
Получение пути для вывода. Проверка свойства плагина и возвращение правильного пути.
Возвращает
строкаПуть вывода.
startup()source public
startup( )
Отключить кеширование и включить отладку для выпечки. Это принудительно использует самую последнюю схему базы данных.
Подробное описание свойств
$_fixturessource
protected массив
Внутренний список фикстур, которые были добавлены до сих пор.
array()
$baseTypessource
public массив
Сопоставление между пакетами и их базовым классом + пакетом. Это используется для генерации вызовов App::uses() для автоматической загрузки базовых классов, если разработчик забыл это сделать.
array(
'Model' => array('Model', 'Model'),
'Behavior' => array('ModelBehavior', 'Model'),
'Controller' => array('Controller', 'Controller'),
'Component' => array('Component', 'Controller'),
'Helper' => array('Helper', 'View')
) $classTypessource
public массив
Типы классов, для которых можно сгенерировать методы
array(
'Model' => 'Model',
'Controller' => 'Controller',
'Component' => 'Controller/Component',
'Behavior' => 'Model/Behavior',
'Helper' => 'View/Helper'
)
© 2005–2017 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/2.10/class-TestTask.html