Класс TestShell
Предоставляет оболочку CakePHP вокруг PHPUnit. Добавляет фикстуры CakePHP и предоставляет доступ к тестам плагинов, приложений и ядра.
- CakeObject
-
Shell
-
TestShell
Прямые подклассы
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Console/Command/TestShell.php
Унаследованные константы
Краткое описание свойств
-
$_dispatcherprotectedОбъект диспетчера для запуска.CakeTestDispatcher
Унаследованные свойства
-
OptionParser,Tasks,_helpers,_lastWritten,_taskMap,args,command,interactive,modelClass,name,params,plugin,stderr,stdin,stdout,taskNames,tasks,uses
Краткое описание методов
- _mapFileToCase() protectedНаходит тестовый случай для переданного файла. Файл сам может быть тестом.
- _mapFileToCategory() protectedДля данного файла, к какой категории тестов он относится? Возвращает app, core или имя плагина.
- _parseArgs() protectedПарсит параметры командной строки в массив, который может использовать CakeTestDispatcher.
- _run() protectedВыполняет тестовый случай из $runnerArgs.
- _runnerOptions() protectedПреобразует опции, переданные оболочке, в опции для исполнителя PHPUnit CLI.
- available() publicОтображает список доступных тестовых случаев и предоставляет возможность запустить один из них.
- getOptionParser() publicПолучает экземпляр парсера опций и настраивает его.
- initialize() publicМетод инициализации устанавливает PHPUnit и загружает все плагины.
- main() publicТочка входа в эту оболочку.
Подробное описание методов
_mapFileToCase()source protected
_mapFileToCase( string $file , string $category , boolean $throwOnMissingFile true )
Находит тестовый случай для переданного файла. Файл сам может быть тестом.
Параметры
- строка
$file - Файл для сопоставления.
- строка
$category - Категория тестового файла.
- логическое значение
$throwOnMissingFileнеобязательно true - Бросить исключение или нет.
Возвращает
массивмассив(тип, случай)
Исключения
Исключение_mapFileToCategory()source protected
_mapFileToCategory( string $file )
Для данного файла, к какой категории тестов он относится? Возвращает app, core или имя плагина.
Параметры
- строка
$file - Файл для сопоставления.
Возвращает
строка_parseArgs()source protected
_parseArgs( )
Парсит параметры командной строки в массив, который может использовать CakeTestDispatcher.
Возвращает
массив|nullМассив параметров для CakeTestDispatcher или null.
_run()source protected
_run( array $runnerArgs , array $options array() )
Выполняет тестовый случай из $runnerArgs
Параметры
- массив
$runnerArgs - список аргументов, полученный из _parseArgs()
- массив
$optionsнеобязательно массив() - список опций, составленный _runnerOptions()
_runnerOptions()source protected
_runnerOptions( )
Преобразует опции, переданные оболочке, в опции для исполнителя PHPUnit CLI.
Возвращает
массивМассив параметров для CakeTestDispatcher
available()source public
available( )
Отображает список доступных тестовых случаев и предоставляет возможность запустить один из них
getOptionParser()source public
getOptionParser( )
Получает экземпляр парсера опций и настраивает его.
Возвращает
ConsoleOptionParserПереопределяет
Shell::getOptionParser() initialize()source public
initialize( )
Метод инициализации устанавливает PHPUnit и загружает все плагины
Исключения
ИсключениеПереопределяет
Shell::initialize() Методы, унаследованные от Shell
__construct()source public
__construct( ConsoleOutput $stdout null , ConsoleOutput $stderr null , ConsoleInput $stdin null )
Создаёт экземпляр этой оболочки.
Параметры
-
ConsoleOutput$stdoutнеобязательно null - Объект ConsoleOutput для стандартного вывода.
-
ConsoleOutput$stderrнеобязательно null - Объект ConsoleOutput для стандартного потока ошибок.
-
ConsoleInput$stdinнеобязательно null - Объект ConsoleInput для стандартного ввода.
Ссылка
https://book.cakephp.org/2.0/ru/console-and-shells.html#ShellПереопределяет
CakeObject::__construct() __get()source public
__get( string $name )
Перегрузка get для ленивого построения задач
Параметры
- строка
$name - Имя свойства для доступа.
Возвращает
ShellОбъект Task
__isset()source public
__isset( string $name )
Лениво загружает модели с помощью метода loadModel() если объявлены в $uses
Параметры
- строка
$name - Название модели, которую нужно найти.
_checkUnitTest()source protected
_checkUnitTest( )
Действие по созданию Unit Test
Возвращает
логическое значениеУспех
_configureStdErrLogger()source protected
_configureStdErrLogger( )
Настроить логирование стандартного потока ошибок
_configureStdOutLogger()source protected
_configureStdOutLogger( )
Настроить логирование стандартного вывода
_controllerName()source protected
_controllerName( string $name )
Создаёт правильное множественное имя контроллера для указанного имени класса контроллера
Параметры
- string
$name - Имя класса контроллера
Возвращает
stringМножественное имя контроллера
_controllerPath()source protected
_controllerPath( string $name )
Создаёт правильный путь к контроллеру для указанного имени класса контроллера
Параметры
- string
$name - Имя класса контроллера
Возвращает
stringПуть к контроллеру
_displayHelp()source protected
_displayHelp( string $command )
Отображает справку в правильном формате
Параметры
- string
$command - Команда, для которой нужна справка.
_getInput()source protected
_getInput( string $prompt , string|array $options , string $default )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- string
$prompt - Текст запроса.
- string|array
$options - Массив или строка опций.
- string
$default - Значение ввода по умолчанию.
Возвращает
Либозначение по умолчанию, либо ввод пользователя.
_loadModels()source protected
_loadModels( )
Если $uses — массив, загружает каждый из моделей в массиве
Возвращает
boolean_loggerIsConfigured()source protected
_loggerIsConfigured( string $logger )
Проверяет, сконфигурирован ли заданный логгер
Параметры
- string
$logger - Имя логгера для проверки
Возвращает
boolean_modelKey()source protected
_modelKey( string $name )
Создаёт правильный нижнеподчёркнутый ключ модели для ассоциаций
Параметры
- string
$name - Имя класса модели
Возвращает
stringЕдиничный ключ модели
_modelName()source protected
_modelName( string $name )
Создаёт правильное именованное (единственное число) имя модели для указанного имени
Параметры
- string
$name - Имя
Возвращает
stringИменованное и единственное имя модели
_modelNameFromKey()source protected
_modelNameFromKey( string $key )
Создаёт правильное имя модели из внешнего ключа
Параметры
- string
$key - Внешний ключ
Возвращает
stringИмя модели
_pluginPath()source protected
_pluginPath( string $pluginName )
Находит правильный путь для плагина. Ищет плагин в $pluginPaths.
Параметры
- string
$pluginName - Имя плагина, например DebugKit
Возвращает
stringПуть к плагину.
_pluralHumanName()source protected
_pluralHumanName( string $name )
Создаёт множественное человекочитаемое имя, используемое в представлениях
Параметры
- string
$name - Имя контроллера
Возвращает
stringМножественное человекочитаемое имя
_pluralName()source protected
_pluralName( string $name )
Создаёт множественное имя для представлений
Параметры
- string
$name - Используемое имя
Возвращает
stringМножественное имя для представлений
_singularHumanName()source protected
_singularHumanName( string $name )
Создаёт единственное человекочитаемое имя, используемое в представлениях
Параметры
- string
$name - Имя контроллера
Возвращает
stringЕдинственное человекочитаемое имя
_singularName()source protected
_singularName( string $name )
Создаёт единственное имя для использования в представлениях.
Параметры
- string
$name - Множественное значение с нижним подчёркиванием.
Возвращает
stringИмя
_useLogger()source protected
_useLogger( boolean $enable true )
Используется для включения или выключения вывода потока логгирования в stdout и stderr. Если вы не хотите видеть всё, что регистрируется через CakeLog, в вашем stdout или stderr, вызовите эту функцию с первым параметром false.
Параметры
- boolean
$enableoptional true - Включать или нет вывод CakeLog
clear()source public
clear( )
Очистить консоль
Ссылка
https://book.cakephp.org/2.0/en/console-and-shells.html#Shell::clearcreateFile()source public
createFile( string $path , string $contents )
Создаёт файл по заданному пути
Параметры
- string
$path - Куда поместить файл.
- string
$contents - Содержимое файла.
Возвращает
booleanУспех
Ссылка
https://book.cakephp.org/2.0/en/console-and-shells.html#Shell::createFiledispatchShell()source public
dispatchShell( )
Перенаправляет команду другой оболочке. Похоже на CakeObject::requestAction(), но предназначено для запуска оболочек из других оболочек.
Использование:
С использованием строковой команды:
return $this->dispatchShell('schema create DbAcl');
Избегайте использования этого формата, если у вас есть строковые аргументы со пробелами в них. Перенаправленная оболочка будет вызвана неправильно. Используйте этот формат только для простого перенаправления команд.
С использованием массива команд:
return $this->dispatchShell('schema', 'create', 'i18n', '--dry');
Возвращает
mixedРезультат работы другой оболочки.
Ссылка
https://book.cakephp.org/2.0/en/console-and-shells.html#Shell::dispatchShellerr()source public
err( string|array $message null , integer $newlines 1 )
Выводит одно или несколько сообщений об ошибке в stderr. Если параметры не переданы, выводится только символ новой строки.
Параметры
- string|array
$messageoptional null - Строка или массив строк для вывода
- integer
$newlinesoptional 1 - Количество символов новой строки для добавления
Ссылка
https://book.cakephp.org/2.0/en/console-and-shells.html#Shell::errerror()source public
error( string $title , string $message null )
Отображает отформатированное сообщение об ошибке и завершает приложение со статусом 1
Параметры
- string
$title - Заголовок ошибки
- string
$messageoptional null - Необязательное сообщение об ошибке
Ссылка
https://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::errorhasMethod()source public
hasMethod( string $name )
Проверка наличия вызываемого метода с заданным именем в этом шелле.
Параметры
- string
$name - Имя метода для проверки.
Возвращает
booleanСсылка
https://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasMethodhasTask()source public
hasTask( string $task )
Проверка наличия задачи с заданным именем в этом шелле.
Параметры
- string
$task - Имя задачи для проверки.
Возвращает
booleanУспех
Ссылка
https://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasTaskhelper()source public
helper( string $name )
Загрузка заданного класса помощника шелла
Параметры
- string
$name - Имя класса помощника. Поддерживается синтаксис плагина.
Возвращает
BaseShellHelperЭкземпляр класса помощника
Исключения
RuntimeExceptionЕсли предоставлено недопустимое имя класса
hr()source public
hr( integer $newlines 0 , integer $width 63 )
Выводит серию символов минус в стандартный вывод, служит визуальным разделителем.
Параметры
- integer
$newlinesoptional 0 - Количество символов новой строки перед и после
- integer
$widthoptional 63 - Ширина линии, по умолчанию 63
Ссылка
https://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hrin()source public
in( string $prompt , string|array $options null , string $default null )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- string
$prompt - Текст приглашения.
- string|array
$optionsoptional null - Массив или строка опций.
- string
$defaultoptional null - Значение ввода по умолчанию.
Возвращает
mixedЛибо значение по умолчанию, либо введенное пользователем.
Ссылка
https://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::inloadModel()source public
loadModel( string $modelClass null , mixed $id null )
Загружает и создает экземпляры моделей, необходимых этому шеллу.
Параметры
- string
$modelClassoptional null - Имя класса модели для загрузки
- mixed
$idoptional null - Изначальный идентификатор, который должен иметь созданный экземпляр класса модели
Возвращает
mixedtrue, если модель найдена и экземпляр создан, ошибка возвращается, если модель не найдена.
Исключения
MissingModelExceptionесли класс модели не может быть найден.
loadTasks()source public
loadTasks( )
Загружает задачи, определенные в public $tasks
Возвращает
booleannl()source public
nl( integer $multiplier 1 )
Возвращает последовательность(и) новой строки(ок).
Параметры
- integer
$multiplieroptional 1 - Количество повторений последовательности новой строки
Возвращает
stringСсылка
https://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::nlout()source 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
$messageoptional null - Строка или массив строк для вывода
- integer
$newlinesoptional 1 - Количество добавляемых символов новой строки
- integer
$leveloptional Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanВозвращает количество байт, возвращенных при записи в стандартный вывод.
Ссылка
https://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::outoverwrite()source public
overwrite( array|string $message , integer $newlines 1 , integer $size null )
Перезапись выведенного текста.
Полезно для создания полосок прогресса или при необходимости перезаписи текста, уже выведенного на экран, новым текстом.
Предупреждение Вы не можете перезаписать текст, содержащий символы новой строки.
Параметры
- array|string
$message - Сообщение для вывода.
- integer
$newlinesoptional 1 - Количество добавляемых символов новой строки.
- integer
$sizeoptional null - Количество байт для перезаписи. По умолчанию равно длине последнего выведенного сообщения.
Возвращает
integer|booleanВозвращает количество байт, возвращенных при записи в стандартный вывод.
param()source public
param( string $name )
Безопасный доступ к значениям в $this->params.
Параметры
- string
$name - Имя параметра для получения.
Возвращает
string|boolean|nullЗначение. Возвращает null, если параметр не существует.
runCommand()source public
runCommand( string $command , array $argv )
Выполняет Shell с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в шелле.
- Соответствующее имя задачи.
-
main()метод.
Если шелл реализует main() метод, все отсутствующие вызовы методов будут отправлены в main() с оригинальным именем метода в argv.
Параметры
- string
$command Имя команды для выполнения в этом шелле. Если этот аргумент пустой, и у шелла есть
main()метод, он будет вызван вместо этого.- array
$argv - Массив аргументов для выполнения шелла. Этот массив должен быть без имени шелла.
Ссылка
https://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::runCommandshortPath()source public
shortPath( string $file )
Делает абсолютный путь к файлу более читабельным
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращает
строкакороткий путь
Ссылка
https://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::shortPathstartup()source public
startup( )
Инициализирует оболочку и отображает приветственное сообщение. Позволяет проверять и настраивать параметры перед выполнением команды или основного исполнения.
Переопределите этот метод, если хотите удалить приветственную информацию или изменить поток до выполнения команды.
Ссылка
https://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::startupwrapText()source public
wrapText( string $text , string|integer|array $options array() )
Обрезает текст. Позволяет задать ширину и отступы текста.
Параметры
-
widthШирина обрезки. По умолчанию 72 -
wordWrapОбрезка только по пробелам. По умолчанию true. -
indentОтступ текста с указанной строкой. По умолчанию null.
Параметры
- строка
$text - Текст для форматирования.
- строка|целое число|массив
$optionsнеобязательно массив() - Массив опций или целое число для обрезки текста.
Возвращает
строкаОбрезанный/отступленный текст
См. также
CakeText::wrap()Ссылка
https://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::wrapTextМетоды, унаследованные от CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства $property этого объекта со свойством в определении $class. Значение свойства этого класса будет объединено поверх значения $class.
Это обеспечивает некоторую магию DRY, предоставляемую CakePHP. Если вы хотите это отключить, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Название свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- логическое
$normalizeнеобязательно true - Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет устанавливать несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно массив() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Остановите выполнение текущего скрипта. Оборачивает exit(), упрощая тестирование.
Параметры
- целое число|строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированный обертку для call_user_func_array
Параметры
- строка
$method - Имя метода для вызова
- массив
$paramsнеобязательно массив() - Список параметров для использования при вызове $method
Возвращает
mixedВозвращает результат вызова метода
log()source 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Успех записи в журнал
requestAction()source 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необязательно массив() Если массив содержит ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
mixedБулево значение true или false об успехе/неудачи или содержимое рендерендераемого действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределять этот метод по необходимости.
Возвращает
строкаИмя этого класса
Подробное описание свойств
© 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-TestShell.html