Класс TestShell
Предоставляет оболочку CakePHP для PHPUnit. Добавляет фикстуры CakePHP и предоставляет доступ к тестовым случаям плагинов, приложения и ядра.
- Объект
-
Оболочка -
TestShell
Непосредственные известные подклассы
TestsuiteShellАвторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Console/Command/TestShell.php
Подробное описание методов
_mapFileToCaseисходный код protected
_mapFileToCase( string $file , string $category , boolean $throwOnMissingFile true )
Находит тестовый случай для переданного файла. Файл может сам являться тестом.
Параметры
- строка
$file - Файл для отображения.
- строка
$category - Категория файла теста.
- логическое
$throwOnMissingFileнеобязательно true - Бросить ли исключение.
Возвращаемое значение
arrayмассив(тип, случай)
Исключения
ExceptionИсключение
_mapFileToCategoryисходный код protected
_mapFileToCategory( string $file )
Для данного файла, к какой категории тестов он относится? Возвращает приложение, ядро или имя плагина.
Параметры
- строка
$file - Файл для отображения.
Возвращаемое значение
stringстрока
_parseArgsисходный код protected
_parseArgs( )
Парсит параметры командной строки в массив, который может использовать CakeTestDispatcher.
Возвращаемое значение
array|nullМассив параметров для CakeTestDispatcher или null.
_runисходный код protected
_run( array $runnerArgs , array $options array() )
Запускает тестовый случай из $runnerArgs.
Параметры
- массив
$runnerArgs - список аргументов, полученных из _parseArgs()
- массив
$optionsнеобязательно массив() - список параметров, созданных методом _runnerOptions()
_runnerOptionsисходный код protected
_runnerOptions( )
Преобразует параметры, переданные в оболочку, в параметры для исполняемого файла PHPUnit.
Возвращаемое значение
arrayМассив параметров для CakeTestDispatcher
availableисходный код public
available( )
Отображает список доступных тестовых случаев и предоставляет возможность запустить один из них.
getOptionParserисходный код public
getOptionParser( )
Получает экземпляр парсера параметров и настраивает его.
Возвращаемое значение
ConsoleOptionParserConsoleOptionParser
Переопределяет
Shell::getOptionParser() initializeисходный код public
initialize( )
Метод инициализации устанавливает PHPUnit и загружает все плагины.
Исключения
ExceptionИсключение
Переопределяет
Shell::initialize() Методы, унаследованные от Shell
__constructисходный код public
__construct( ConsoleOutput $stdout null , ConsoleOutput $stderr null , ConsoleInput $stdin null )
Создает экземпляр этой оболочки.
Параметры
-
ConsoleOutput$stdoutнеобязательно null - Объект ConsoleOutput для стандартного вывода.
-
ConsoleOutput$stderrнеобязательно null - Объект ConsoleOutput для стандартного потока ошибок.
-
ConsoleInput$stdinнеобязательно null - Объект ConsoleInput для стандартного ввода.
Ссылка
http://book.cakephp.org/2.0/en/console-and-shells.html#ShellПереопределяет
Object::__construct() __getисходный код public
__get( string $name )
Перегрузка get для ленивого создания задач.
Параметры
- строка
$name - Имя свойства для доступа.
Возвращаемое значение
ShellОбъект Task
__issetисходный код public
__isset( string $name )
Ленито загружает модели, используя метод loadModel(), если они объявлены в $uses.
Параметры
- строка
$name - Имя модели для поиска.
_checkUnitTestисходный код protected
_checkUnitTest( )
Действие по созданию модульного теста.
Возвращаемое значение
booleanУспех
_controllerNameисходный код protected
_controllerName( string $name )
Создает правильное множественное имя контроллера для указанного имени класса контроллера.
Параметры
- строка
$name - Имя класса контроллера
Возвращаемое значение
stringМножественное имя контроллера
_controllerPathисходный код protected
_controllerPath( string $name )
Создает правильный путь к контроллеру для указанного имени класса контроллера.
Параметры
- строка
$name - Имя класса контроллера
Возвращаемое значение
stringПуть к контроллеру
_displayHelpисходный код protected
_displayHelp( string $command )
Отображает справку в правильном формате.
Параметры
- строка
$command - Команда, для которой нужно получить справку.
_getInputисходный код protected
_getInput( string $prompt , string|array $options , string $default )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|массив
$options - Массив или строка опций.
- строка
$default - Значение ввода по умолчанию.
Возвращаемое значение
Eitherзначение по умолчанию или введенное пользователем значение.
_loadModelsисходный код protected
_loadModels( )
Если $uses — массив, загружает каждую модель из массива.
Возвращаемое значение
booleanbool
_modelKeyисходный код protected
_modelKey( string $name )
Создает правильное нижнее подчеркивание ключа модели для ассоциаций.
Параметры
- строка
$name - Имя класса модели
Возвращаемое значение
stringЕдиничный ключ модели
_modelNamesource protected
_modelName( string $name )
Создаёт правильное наименование модели (единственное число) для указанного имени.
Параметры
- строка
$name - Имя
Возвращает
stringНазвание модели в camelized формате и единственном числе
_modelNameFromKeysource protected
_modelNameFromKey( string $key )
Создаёт правильное имя модели по внешнему ключу.
Параметры
- строка
$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.
Параметры
- boolean
$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::inloadModelsource public
loadModel( string $modelClass null , mixed $id null )
Загружает и инициализирует модели, необходимые для этого командного интерфейса.
Параметры
- строка
$modelClassнеобязательно null - Имя класса модели для загрузки
- смешанное
$idнеобязательно null - Начальный идентификатор, который должна иметь созданная модель
Возвращаемое значение
mixedtrue, если модель найдена и экземпляр создан, возвращается ошибка, если модель не найдена.
Выбрасывает
MissingModelExceptionесли класс модели не может быть найден.
loadTaskssource public
loadTasks( )
Загружает задачи, определенные в public $tasks
Возвращаемое значение
booleanbool
nlsource public
nl( integer $multiplier 1 )
Возвращает одну или несколько последовательностей символов новой строки.
Параметры
- целое число
$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 означает, что оно будет отображаться только при включенном режиме verbose.
Параметры
- строка|массив
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
- целое число
$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 )
Перезаписывает уже выведенный текст.
Полезно для создания полос прогресса или когда необходимо заменить текст, уже выведенный на экран, новым текстом.
Предупреждение Нельзя перезаписать текст, содержащий символы новой строки.
Параметры
- массив|строка
$message - Сообщение для вывода.
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления.
- целое число
$sizeнеобязательно null - Количество байтов для перезаписи. По умолчанию равно длине последнего выведенного сообщения.
Возвращаемое значение
integer|booleanВозвращает количество байтов, возвращенных при записи в стандартный вывод.
paramsource public
param( string $name )
Безопасно обращается к значениям в $this->params.
Параметры
- строка
$name - Имя параметра для получения.
Возвращаемое значение
string|boolean|nullЗначение. Возвращает null, если параметр не существует.
runCommandsource public
runCommand( string $command , array $argv )
Выполняет командный интерфейс с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в командном интерфейсе.
- Соответствующее имя задачи.
-
main()метод.
Если командный интерфейс реализует метод main(), все отсутствующие вызовы методов будут отправлены в main() с исходным именем метода в argv.
Параметры
- строка
$command - Имя команды для выполнения в этом командном интерфейсе. Если этот аргумент пустой, и командный интерфейс имеет метод
main(), этот метод будет вызван вместо этого. - массив
$argv - Массив аргументов для выполнения командного интерфейса. В этом массиве должно отсутствовать имя командного интерфейса.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::runCommandshortPathsource public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым.
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращаемое значение
stringсокращенный путь
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::shortPathstartupsource public
startup( )
Запускает командный интерфейс и отображает приветственное сообщение. Позволяет проверять и настраивать перед выполнением команды или основного действия
Переопределите этот метод, если хотите удалить приветственную информацию или изменить поток до выполнения команды.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::startupwrapTextsource public
wrapText( string $text , string|integer|array $options array() )
Обертывает блок текста. Позволяет задать ширину и отступы блока текста.
Опции
-
widthШирина обрезки. По умолчанию 72 -
wordWrapОборачивание только по разрыву слов (пробелы). По умолчанию true. -
indentОтступ текста с предоставленной строкой. По умолчанию null.
Параметры
- строка
$text - Текст для форматирования.
- строка|целое число|массив
$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. Если вы хотите отключить её, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- логическое значение
$normalizeнеобязательно true - Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_setsource protected
_set( array $properties array() )
Позволяет задать несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stopsource protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- целое число или строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethodsource public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Обеспечивает объектно-ориентированную оболочку для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$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 |
Краткое описание свойств
Свойства, унаследованные от Shell
$OptionParsersource
public ConsoleOptionParser
Экземпляр ConsoleOptionParser, настроенный для данного класса.
$_lastWrittensource
protected целое число
Количество байтов, последнего записанного в поток вывода, используемое при перезаписи предыдущего сообщения.
$interactivesource
public логическое значение
Если истинно, сценарий запросит разрешение на выполнение действий.
true $modelClasssource
public строка
Основное имя класса модели этого оболочки, первая модель в свойстве $uses.
null $pluginsource
public строка
Имя плагина, к которому принадлежит оболочка. Автоматически устанавливается ShellDispatcher при создании оболочки.
null $taskssource
public массив
Содержит задачи для загрузки и инициализации
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::$tasksarray() $usessource
public массив
Содержит модели для загрузки и инициализации
Ссылка
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-TestShell.html