Класс TestTask
Класс задачи для создания и обновления тестовых файлов.
- Объект
-
Shell -
AppShell -
BakeTask -
TestTask
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение Cake/Console/Command/Task/TestTask.php
Подробное описание методов
_addFixtureисточник protected
_addFixture( string $name )
Добавить имя класса в список фикстур. Устанавливает префикс app. или plugin.plugin_name.
Параметры
- строка
$name - Имя класса модели, для которой может потребоваться фикстура.
_interactiveисточник protected
_interactive( string $type null )
Обработка интерактивного создания
Параметры
- строка
$typeнеобязательно null - Тип объекта для создания тестового экземпляра.
Возвращает
string|booleanстрока|логическое значение
_processControllerисточник protected
_processController( Controller $subject )
Обработка всех моделей, связанных с контроллером, и создание списка фикстур.
Параметры
-
Controller$subject - Контроллер для получения имен моделей.
_processModelисточник protected
_processModel( Model $subject )
Рекурсивно обрабатывает модель и извлекает все имена моделей, преобразуя их в имена фикстур.
Параметры
-
Model$subject - Класс модели для сканирования ассоциаций и извлечения фикстур.
bakeисточник public
bake( string $type , string $className )
Выполняет окончательные шаги по генерации данных для создания тестового случая.
Параметры
- строка
$type - Тип объекта для создания тестового случая (например, Model, Controller).
- строка
$className - «Имя Cake» для класса (например, Posts для PostsController).
Возвращает
string|booleanстрока|логическое значение
buildTestSubjectисточник public
buildTestSubject( string $type , string $class )
Создает экземпляр класса для тестирования, чтобы можно было обнаружить фикстуры.
Параметры
- строка
$type - Тип объекта, для которого генерируются тесты (например, контроллер).
- строка
$class - Имя класса, для которого генерируется тест.
Возвращает
objectЭкземпляр класса, который будет тестироваться.
executeисточник public
execute( )
Метод выполнения, всегда используемый для задач.
Переопределяет
BakeTask::execute() generateConstructorисточник public
generateConstructor( string $type , string $fullClassName , string $plugin )
Генерирует фрагмент кода конструктора для типа и имени класса.
Параметры
- строка
$type - Тип объекта, для которого генерируются тесты (например, контроллер).
- строка
$fullClassName - Имя класса, для которого генерируется тест.
- строка
$plugin - Имя плагина.
Возвращает
arrayФрагменты кода конструктора для создаваемого объекта.
generateFixtureListисточник public
generateFixtureList( object $subject )
Генерирует список фикстур, которые понадобятся для выполнения этого теста, на основе загруженных моделей.
Параметры
- объект
$subject - Объект, для которого нужно сгенерировать фикстуры.
Возвращает
arrayМассив фикстур для включения в тест.
generateUsesисточник public
generateUses( string $type , string $realType , string $className )
Генерирует вызовы uses() для типа и имени класса.
Параметры
- строка
$type - Тип объекта, для которого генерируются тесты (например, контроллер).
- строка
$realType - Имя пакета для класса.
- строка
$className - Имя класса, для которого генерируется тест.
Возвращает
arrayМассив, содержащий используемые классы
getBaseTypeисточник public
getBaseType( string $type )
Получение базового класса и имени пакета для заданного типа.
Параметры
- строка
$type - Тип, в котором находится класс, для которого генерируется тест.
Возвращает
arrayМассив (класс, тип)
Выбрасывает
CakeExceptionпри недопустимых типах.
getClassNameисточник public
getClassName( string $objectType )
Получение выбранного пользователем имени класса для выбранного типа.
Параметры
- строка
$objectType - Тип объекта для перечисления классов (например, Model, Controller).
Возвращает
stringИмя класса, выбранное пользователем.
getObjectTypeисточник public
getObjectType( )
Взаимодействие с пользователем для получения выбранного типа. Может завершить выполнение скрипта.
Возвращает
stringВыбранный пользователем тип.
getOptionParserисточник public
getOptionParser( )
Получает экземпляр парсера опций и настраивает его.
Возвращает
ConsoleOptionParserConsoleOptionParser
Переопределяет
Shell::getOptionParser() getRealClassNameисточник public
getRealClassName( string $type , string $class )
Получает реальное имя класса из сокращенной формы Cake. Если имя класса уже имеет суффикс типа, тип не будет дублироваться.
Параметры
- строка
$type - Тип объекта, для которого генерируются тесты (например, контроллер).
- строка
$class - Имя класса, для которого генерируется тест.
Возвращает
stringРеальное имя класса
getTestableMethodsисточник public
getTestableMethods( string $className )
Получение методов, объявленных в заданном классе. Методы родительских классов не возвращаются.
Параметры
- строка
$className - Имя класса для проверки.
Возвращает
arrayМассив имён методов.
getUserFixturesисточник public
getUserFixtures( )
Взаимодействие с пользователем для получения дополнительных фикстур, которые он хочет использовать.
Возвращает
arrayМассив фикстур, которые пользователь хочет добавить.
hasMockClasssource public
hasMockClass( string $type )
Требуется ли моковая модель для этого типа теста? Контроллеры требуют моковую модель.
Параметры
- string
$type - Тип объекта, для которого генерируются тесты, например, контроллер.
Возвращает
booleanbool
isLoadableClasssource public
isLoadableClass( string $package , string $class )
Проверка, загружен ли класс с указанным пакетом или может быть загружен.
Параметры
- string
$package - Пакет объекта, для которого генерируются тесты, например, контроллер.
- string
$class - Имя класса, для которого генерируется тест.
Возвращает
booleanbool
mapTypesource public
mapType( string $type , string $plugin )
Преобразование типов, используемых TestTask, в конкретные типы, которые может использовать App::uses.
Параметры
- string
$type - Тип сущности, для которой генерируется тест.
- string
$plugin - Имя плагина.
Возвращает
stringstring
Исключения
CakeExceptionПри запросе неверных типов объектов.
testCaseFileNamesource public
testCaseFileName( string $type , string $className )
Формирование имени файла для тестового случая. Обработка суффиксов для контроллеров и получение пути к плагину, если необходимо.
Параметры
- string
$type - Тип объекта, для которого генерируются тесты, например, контроллер.
- string
$className - Имя класса, для которого генерируется тест.
Возвращает
stringИмя файла, в который должен быть создан тест.
typeCanDetectFixturessource public
typeCanDetectFixtures( string $type )
Проверка, может ли выбранный тип найти свои фикстуры. В настоящее время поддерживаются только модели и контроллеры.
Параметры
- string
$type - Тип объекта, для которого генерируются тесты, например, контроллер.
Возвращает
booleanbool
Методы, унаследованные от BakeTask
getPathsource public
getPath( )
Получение пути для вывода. Проверка свойства плагина и возвращение корректного пути.
Возвращает
stringПуть для вывода.
startupsource public
startup( )
Отключение кэширования и включение отладки для выпечки. Это принудительно заставляет использовать самую последнюю схему базы данных.
Переопределяет
Shell::startup() Методы, унаследованные от Shell
__constructsource public
__construct( ConsoleOutput $stdout null , ConsoleOutput $stderr null , ConsoleInput $stdin null )
Создаёт экземпляр этого Shell.
Параметры
-
ConsoleOutput$stdoutнеобязательно null - Объект ConsoleOutput для стандартного вывода.
-
ConsoleOutput$stderrнеобязательно null - Объект ConsoleOutput для стандартного потока ошибок.
-
ConsoleInput$stdinнеобязательно null - Объект ConsoleInput для стандартного ввода.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#ShellПереопределяет
Object::__construct() __getsource public
__get( string $name )
Перегрузка get для ленивого создания задач
Параметры
- string
$name - Имя свойства для доступа.
Возвращает
ShellОбъект задачи
__issetsource public
__isset( string $name )
Ленично загружает модели, используя метод loadModel(), если объявлены в $uses
Параметры
- string
$name - Имя модели для поиска.
_checkUnitTestsource protected
_checkUnitTest( )
Действие по созданию Unit Test
Возвращает
booleanУспешно
_controllerNamesource protected
_controllerName( string $name )
Создаёт правильное множественное имя контроллера для указанного имени класса контроллера.
Параметры
- string
$name - Имя класса контроллера
Возвращает
stringМножественное имя контроллера
_controllerPathsource protected
_controllerPath( string $name )
Создаёт правильный путь к контроллеру для указанного имени класса контроллера.
Параметры
- string
$name - Имя класса контроллера
Возвращает
stringПуть к контроллеру
_displayHelpsource protected
_displayHelp( string $command )
Вывод справки в правильном формате
Параметры
- string
$command - Команда, для которой требуется справка.
_getInputsource protected
_getInput( string $prompt , string|array $options , string $default )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- string
$prompt - Текст запроса.
- string|array
$options - Массив или строка опций.
- string
$default - Значение ввода по умолчанию.
Возвращает
Eitherзначение по умолчанию или введённое пользователем.
_loadModelssource protected
_loadModels( )
Если $uses - массив, загрузить каждую модель из массива
Возвращает
booleanbool
_modelKeysource protected
_modelKey( string $name )
Создаёт правильное нижнее подчеркивание ключа модели для ассоциаций
Параметры
- string
$name - Имя класса модели
Возвращает
stringЕдинственное имя ключа модели
_modelNamesource protected
_modelName( string $name )
Создаёт правильное верблюжье имя модели (единственное число) для указанного имени.
Параметры
- string
$name - Имя
Возвращает
stringВерблюжье имя модели (единственное число)
_modelNameFromKeysource protected
_modelNameFromKey( string $key )
Создаёт правильное имя модели по внешнему ключу.
Параметры
- string
$key - Внешний ключ
Возвращает
stringИмя модели
_pluginPathsource protected
_pluginPath( string $pluginName )
Находит правильный путь к плагину. Просматривает $pluginPaths в поисках нужного плагина.
Параметры
- строка
$pluginName - Название плагина, например, DebugKit
Возвращает
stringпуть путь к нужному плагину.
_pluralHumanNamesource protected
_pluralHumanName( string $name )
Создаёт множественное человекопонятное имя, используемое в представлениях.
Параметры
- строка
$name - Имя контроллера
Возвращает
stringМножественное человекопонятное имя
_pluralNamesource protected
_pluralName( string $name )
Создаёт множественное имя для представлений.
Параметры
- строка
$name - Используемое имя
Возвращает
stringМножественное имя для представлений
_singularHumanNamesource protected
_singularHumanName( string $name )
Создаёт единственное человекопонятное имя, используемое в представлениях.
Параметры
- строка
$name - Имя контроллера
Возвращает
stringЕдинственное человекопонятное имя
_singularNamesource protected
_singularName( string $name )
Создаёт единственное имя для использования в представлениях.
Параметры
- строка
$name - Множественное имя с подчёркиваниями.
Возвращает
stringимя
_useLoggersource protected
_useLogger( boolean $enable true )
Используется для включения или отключения вывода журнала потока в stdout и stderr. Если вы не хотите видеть всё, что регистрируется через CakeLog, в stdout или stderr, вызовите эту функцию с параметром false.
Параметры
- логический
$enableнеобязательно true - включить или отключить вывод CakeLog
clearsource public
clear( )
Очистить консоль.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::clearcreateFilesource public
createFile( string $path , string $contents )
Создаёт файл по заданному пути.
Параметры
- строка
$path - Куда поместить файл.
- строка
$contents - Содержимое файла.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::createFiledispatchShellsource public
dispatchShell( )
Отправляет команду другой оболочке. Аналогично Object::requestAction(), но предназначено для запуска оболочек из других оболочек.
Использование:
Со строковой командой:
return $this->dispatchShell('schema create DbAcl');
Избегайте использования этого формата, если у вас есть строковые аргументы с пробелами. Диспеч отправлять будет неправильно. Используйте этот формат только для простого диспетчеризации команд.
С массивом команд:
return $this->dispatchShell('schema', 'create', 'i18n', '--dry');
Возвращает
mixedРезультат работы другой оболочки.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::dispatchShellerrsource public
err( string|array $message null , integer $newlines 1 )
Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводит только новую строку.
Параметры
- строка|массив
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых новых строк
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::errerrorsource public
error( string $title , string $message null )
Отображает отформатированное сообщение об ошибке и завершает приложение со статусом 1.
Параметры
- строка
$title - Заголовок ошибки
- строка
$messageнеобязательно null - Необязательное сообщение об ошибке
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::errorhasMethodsource public
hasMethod( string $name )
Проверяет, имеет ли эта оболочка вызываемый метод с заданным именем.
Параметры
- строка
$name - Имя метода для проверки.
Возвращает
booleanbool
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasMethodhasTasksource public
hasTask( string $task )
Проверяет, есть ли у этой оболочки задача с заданным именем.
Параметры
- строка
$task - Имя задачи для проверки.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasTaskhrsource public
hr( integer $newlines 0 , integer $width 63 )
Выводит ряд символов дефиса в стандартный вывод, служит визуальным разделителем.
Параметры
- целое число
$newlinesнеобязательно 0 - Количество новых строк для добавления перед и после
- целое число
$widthнеобязательно 63 - Ширина строки, по умолчанию 63
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hrinsource public
in( string $prompt , string|array $options null , string $default null )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|массив
$optionsнеобязательно null - Массив или строка вариантов.
- строка
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращает
mixedЗначение по умолчанию или введённое пользователем.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::ininitializesource public
initialize( )
Инициализирует оболочку, выполняет роль конструктора для подклассов, позволяет настраивать задачи перед выполнением оболочки.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::initializeloadModelsource public
loadModel( string $modelClass null , mixed $id null )
Загружает и инициализирует модели, необходимые для этого командного интерпретатора.
Параметры
- string
$modelClassнеобязательно null - Имя класса модели для загрузки
- mixed
$idнеобязательно null - Начальный идентификатор, который должна иметь экземпляризованная модель
Возвращает
mixedtrue, если найдена одна модель и создан экземпляр; возвращает ошибку, если модель не найдена.
Выбрасывает
MissingModelExceptionесли класс модели не может быть найден.
loadTaskssource public
loadTasks( )
Загружает задачи, определенные в public $tasks
Возвращает
booleanbool
nlsource public
nl( integer $multiplier 1 )
Возвращает одну или несколько последовательностей символов новой строки.
Параметры
- integer
$multiplierнеобязательно 1 - Число повторений последовательности символов новой строки
Возвращает
stringстрока
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::nloutsource public
out( string|array $message null , integer $newlines 1 , integer $level Shell::NORMAL )
Выводит одно или несколько сообщений в стандартный вывод. Если параметры не переданы, выводится только символ новой строки.
Уровни вывода
Существует 3 встроенных уровня вывода. Shell::QUIET, Shell::NORMAL, Shell::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet в большинстве командных интерпретаторов. Использование Shell::QUIET для сообщения означает, что оно всегда будет отображаться. Использование Shell::VERBOSE означает, что оно будет отображаться только при включенном подробном выводе.
Параметры
- string|array
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Число символов новой строки для добавления
- integer
$levelнеобязательноShell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanВозвращает число байтов, возвращённых при записи в стандартный вывод.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::outoverwritesource public
overwrite( array|string $message , integer $newlines 1 , integer $size null )
Перезаписывает уже выведенный текст.
Полезно для создания индикаторов выполнения или когда вы хотите заменить текст, уже выведенный на экран, новым текстом.
Предупреждение Вы не можете перезаписать текст, содержащий символы новой строки.
Параметры
- array|string
$message - Сообщение для вывода.
- integer
$newlinesнеобязательно 1 - Число символов новой строки для добавления.
- integer
$sizeнеобязательно null - Количество байтов для перезаписи. По умолчанию равно длине последнего выведенного сообщения.
Возвращает
integer|booleanВозвращает количество байтов, возвращенных при записи в стандартный вывод.
paramsource public
param( string $name )
Безопасно обращается к значениям в $this->params.
Параметры
- string
$name - Имя параметра для получения.
Возвращает
string|boolean|nullЗначение. Возвращает null, если параметр не существует.
runCommandsource public
runCommand( string $command , array $argv )
Выполняет командный интерпретатор с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в командном интерпретаторе.
- Соответствующее имя задачи.
-
main()метод.
Если командный интерпретатор реализует метод main(), все отсутствующие вызовы методов будут отправлены в main() с оригинальным именем метода в argv.
Параметры
- string
$command - Имя команды для выполнения в этом командном интерпретаторе. Если этот аргумент пуст, и командный интерпретатор имеет метод
main(), этот метод будет вызван вместо него. - array
$argv - Массив аргументов для выполнения командного интерпретатора. В этом массиве должно отсутствовать имя командного интерпретатора.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::runCommandshortPathsource public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым
Параметры
- string
$file - Абсолютный путь к файлу
Возвращает
stringкороткое обозначение пути
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::shortPathwrapTextsource public
wrapText( string $text , string|integer|array $options array() )
Обертывает блок текста. Позволяет задать ширину и отступы для блока текста.
Опции
-
widthШирина обрезки. По умолчанию 72 -
wordWrapОбрезка только по границам слов (пробелы). По умолчанию true. -
indentОтступ текста с помощью указанной строки. По умолчанию null.
Параметры
- string
$text - Текст для форматирования.
- string|integer|array
$optionsнеобязательно array() - Массив опций или целое число для обрезки текста.
Возвращает
stringОбёрнутый/отступленный текст
См. также
CakeText::wrap()Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::wrapTextМетоды, унаследованные от Object
_mergeVarssource protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойство $property этого объекта со свойством в определении $class. Значение свойства этого класса будет объединено поверх $class'.
Это предоставляет часть магии DRY, предоставляемой CakePHP. Если вы хотите отключить его, переопределите этот метод как пустую функцию.
Параметры
- array
$properties - Имя свойств для объединения.
- string
$class - Класс для объединения свойства с.
- boolean
$normalizeнеобязательно true - Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_setsource protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- array
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stopsource protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- integer|string
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethodsource public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированную оболочку для call_user_func_array
Параметры
- string
$method - Имя вызываемого метода
- array
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращает
mixedВозвращает результат вызова метода
logsource public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. Для получения дополнительной информации о записи в журналы, см. CakeLog::write().
Параметры
- строка
$msg - Сообщение журнала
- целое число
$typeнеобязательно LOG_ERR - Постоянная типа ошибки. Определена в app/Config/core.php.
- null|строка|массив
$scopeнеобязательно null - Область(и), в которой создается сообщение журнала. Для получения дополнительной информации о журналах областей, см. CakeLog::config().
Возвращает
booleanУспешность записи в журнал
requestActionsource public
requestAction( string|array $url , array $extra array() )
Вызывает метод контроллера из любой точки. Может использоваться для подключения контроллеров друг к другу или связывания плагинов с основной программой. requestAction может использоваться для возвращения отрисованных представлений или получения значения, возвращаемого действиями контроллеров.
Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строку URL. Вы должны использовать форматы URL, совместимые с Router::reverse().
Передача данных POST и GET
Данные POST и GET могут быть смоделированы в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет моделировать данные POST.
Параметры
- строка|массив
$url - URL в виде строки или массива. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать передаваемые и именованные аргументы в параметре $url.
- массив
$extraнеобязательно array() - Если массив включает ключ "return", он устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST, а также именованных/передаваемых аргументов.
Возвращает
mixedЛогическое значение true или false об успехе/неудачи, или содержимое отрисованного действия, если в $extra установлен ключ 'return'.
toStringsource public
toString( )
Преобразование объекта в строку. Каждый класс может переопределять этот метод по необходимости.
Возвращает
stringИмя этого класса
Постоянные, унаследованные от Shell
CODE_ERROR, NORMAL, QUIET, VERBOSE |
Краткое описание свойств
Свойства, унаследованные от BakeTask
Свойства, унаследованные от Shell
$OptionParsersource
public ConsoleOptionParser
Экземпляр ConsoleOptionParser, настроенный для этого класса.
$_lastWrittensource
protected integer
Количество байтов, последнего записанного в поток вывода, при переписывании предыдущего сообщения.
$modelClasssource
public string
Основное имя класса модели для этого шелла, первая модель в свойстве $uses.
null $paramssource
public array
Содержит переключатели команд, проанализированные из командной строки.
array() $usessource
public array
Содержит модели для загрузки и инициализации
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::$usesarray()
© 2005–2016 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.
http://api.cakephp.org/2.7/class-TestTask.html