Класс ControllerTestCase
Класс ControllerTestCase
- PHPUnit_Framework_TestCase
-
CakeTestCase
-
ControllerTestCase
Пакет: Cake\TestSuite
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/TestSuite/ControllerTestCase.php
Краткое описание свойств
-
$_dirtyControllerprotectedbooleanФлаг для проверки, является ли экземпляр контроллера изменённым. После выполнения теста на контроллере он должен быть пересоздан для очистки свойств.
-
$_responseClassprotectedИмя класса для имитации объекта ответа.string -
$autoMockpublicАвтоматически имитировать контроллеры, которые не имитируютсяboolean -
$contentspublicРезультат рендеринга макета + представления последнего вызова testActionstring - Контроллер для тестирования в testAction
$controllerpublic -
$headerspublicЗаголовки, которые были бы отправлены действиемstring -
$loadRoutespublicИспользовать пользовательские маршруты во время тестовboolean -
$resultpublicВозвращаемый результат диспетчеризации (requestAction), если таковой имеетсяstring -
$varspublicПеременные представления, полученные в результате последнего вызова testActionarray -
$viewpublicРезультат рендеринга представления последнего вызова testActionstring
Унаследованные свойства
Краткое описание методов
- __call() public
Используется для вызова ControllerTestCase::testAction() без того, чтобы фреймворк тестирования считал его тестовым случаем
- _testAction() protectedПозволяет выполнять функциональные тесты действия контроллера.
- generate() public
Генерирует имитируемый контроллер и имитирует все классы, переданные в
$mocks. По умолчанию_stop()подменяется, как и отправка заголовков ответа, чтобы не мешать тестированию.
Подробное описание методов
__call()source public
__call( string $name , array $arguments )
Используется для вызова ControllerTestCase::testAction() без того, чтобы фреймворк тестирования считал его тестовым случаем
Параметры
- строка
$name - Имя функции
- массив
$arguments - Массив аргументов
Возвращает
mixedРезультат _testAction.
Выбрасывает
BadMethodCallExceptionпри вызове несуществующих методов.
_testAction()source protected
_testAction( string|array $url , array $options array() )
Позволяет выполнять функциональные тесты действия контроллера.
Параметры:
-
dataБудет использоваться как данные запроса. Еслиmethodравен GET, данные будут использованы в качестве параметров GET. Еслиmethodравен POST, они будут использованы как данные POST. Указав$options['data']в виде строки, можно имитировать XML или JSON-загрузки в контроллеры, что позволит тестировать REST-веб-сервисы. -
methodPOST или GET. По умолчанию POST. -
returnУкажите желаемый тип возвращаемого значения. Выберите из:-
varsПолучить установленные переменные представления. -
viewПолучить рендер представления без макета. -
contentsПолучить рендер представления, включая макет. -
resultПолучить возвращаемое значение действия контроллера. Полезно для тестирования методов requestAction.
-
Параметры
- строка|массив
$url - URL для тестирования.
- массив
$optionsнеобязательно array() - См. параметры
Возвращает
mixedУказанный тип возвращаемого значения.
Вызывает
ControllerTestCase $Dispatch, array('request' => $request)generate()source public
generate( string $controller , array $mocks array() )
Генерирует имитируемый контроллер и имитирует все классы, переданные в $mocks. По умолчанию _stop() подменяется, как и отправка заголовков ответа, чтобы не мешать тестированию.
Моделирование:
-
methodsМетоды для имитации контроллера._stop()имитируется по умолчанию -
modelsМодели для имитации. Модели добавляются в ClassRegistry, поэтому каждый раз при их создании создаётся имитация. Передаются в виде пар ключ-значение, где значение — это конкретные методы модели для имитации. Еслиtrueили не указано значение, вся модель будет имитироваться. -
componentsКомпоненты для имитации. Компоненты имитируются только в этом контроллере и не внутри друг друга (т.е., компоненты в компонентах)
Параметры
- строка
$controller - Имя контроллера
- массив
$mocksнеобязательно array() - Список классов и методов для имитации
Возвращает
ControllerИмитируемый контроллер
Выбрасывает
MissingControllerExceptionПри невозможности создания контроллеров.
MissingComponentExceptionПри невозможности создания компонентов.
Методы, унаследованные от CakeTestCase
_assertAttributes()source protected
_assertAttributes( array $assertions , string $string )
Проверка атрибутов как части проверки assertTags().
Параметры
- массив
$assertions - Проверки для выполнения.
- строка
$string - Строка HTML для проверки.
_buildMock()source protected
_buildMock( string $originalClassName , array $methods array() , array $arguments array() , string $mockClassName '' , boolean $callOriginalConstructor true , boolean $callOriginalClone true , boolean $callAutoload true )
Возвращает имитируемый объект для указанного класса.
Устаревшее
ИспользуйтеgetMockBuilder() или createMock() в новых модульных тестах.Параметры
- строка
$originalClassName - Имя класса объекта для имитации.
- массив
$methodsнеобязательно array() По умолчанию все методы данного класса заменяются на тест-дубликат, который просто возвращает NULL, если не настроено возвращаемое значение с помощью will($this->returnValue()), например. Если второй (необязательный) параметр задан, то заменяются только методы, имена которых находятся в массиве. Поведение других методов не изменяется. Передача NULL в качестве параметра означает, что не будет заменено ни одного метода.
- массив
$argumentsнеобязательно array() Третий (необязательный) параметр может содержать массив параметров, которые передаются в конструктор исходного класса (который по умолчанию не заменяется на имитационную реализацию).
- строка
$mockClassNameнеобязательно '' Четвёртый (необязательный) параметр может быть использован для указания имени класса для сгенерированного тест-дубликата.
- логическое значение
$callOriginalConstructorнеобязательно true Пятый (необязательный) параметр может быть использован для отключения вызова конструктора исходного класса.
- логическое значение
$callOriginalCloneнеобязательно true Шестой (необязательный) параметр может быть использован для отключения вызова конструктора клонирования исходного класса.
- логическое значение
$callAutoloadнеобязательно true Седьмой (необязательный) параметр может быть использован для отключения __autoload() во время генерации класса тест-дубликата.
Возвращает
объектСм.
https://phpunit.de/manual/current/en/test-doubles.htmlassertEqual()source protected static
assertEqual( mixed $result , mixed $expected , string $message '' )
Функция-обёртка для assertEquals для совместимости.
Устаревшее
3.0.0 Это обёртка для совместимости с версией 1.x. Она будет удалена в версии 3.0Параметры
- mixed
$result - mixed
$expected - string
$messageнеобязательно '' - текст, который будет отображен, если утверждение не выполняется
assertIdentical()source protected static
assertIdentical( mixed $actual , mixed $expected , string $message '' )
Функция-обёртка для assertEquals для совместимости.
Устаревшее
3.0.0 Это обёртка для совместимости с версией 1.x. Она будет удалена в версии 3.0Параметры
- mixed
$actual - mixed
$expected - string
$messageнеобязательно '' - текст, который будет отображен, если утверждение не выполняется
assertIsA()source protected static
assertIsA( string $object , string $type , string $message '' )
Функция-обёртка для assertIsA для совместимости.
Устаревшее
3.0.0 Это обёртка для совместимости с версией 1.x. Она будет удалена в версии 3.0Параметры
- string
$object - string
$type - string
$messageнеобязательно ''
assertNoErrors()source protected
assertNoErrors( )
Проверка отсутствия ошибок.
Устаревшее
3.0.0 Это обёртка для совместимости с версией 1.x. Она будет удалена в версии 3.0assertNoPattern()source protected static
assertNoPattern( mixed $pattern , string $string , string $message '' )
Функция-обёртка для assertNotRegExp для совместимости.
Устаревшее
3.0.0 Это обёртка для совместимости с версией 1.x. Она будет удалена в версии 3.0Параметры
- mixed
$pattern - регулярное выражение
- string
$string - строка для проверки
- string
$messageнеобязательно '' - текст, который будет отображен, если утверждение не выполняется
assertNotEqual()source protected static
assertNotEqual( mixed $result , mixed $expected , string $message '' )
Функция-обёртка для assertNotEquals для совместимости.
Устаревшее
3.0.0 Это обёртка для совместимости с версией 1.x. Она будет удалена в версии 3.0Параметры
- mixed
$result - mixed
$expected - string
$messageнеобязательно '' - текст, который будет отображен, если утверждение не выполняется
assertNotIdentical()source protected static
assertNotIdentical( mixed $actual , mixed $expected , string $message '' )
Функция-обёртка для assertNotEquals для совместимости.
Устаревшее
3.0.0 Это обёртка для совместимости с версией 1.x. Она будет удалена в версии 3.0Параметры
- mixed
$actual - mixed
$expected - string
$messageнеобязательно '' - текст, который будет отображен, если утверждение не выполняется
assertPattern()source protected static
assertPattern( mixed $pattern , string $string , string $message '' )
Функция-обёртка для assertRegexp для совместимости.
Устаревшее
3.0.0 Это обёртка для совместимости с версией 1.x. Она будет удалена в версии 3.0Параметры
- mixed
$pattern - регулярное выражение
- string
$string - строка для проверки
- string
$messageнеобязательно '' - текст, который будет отображен, если утверждение не выполняется
assertReference()source protected static
assertReference( mixed $first , mixed $second , string $message '' )
Функция-обёртка для assertSame для совместимости.
Устаревшее
3.0.0 Это обёртка для совместимости с версией 1.x. Она будет удалена в версии 3.0Параметры
- mixed
$first - mixed
$second - string
$messageнеобязательно '' - текст, который будет отображен, если утверждение не выполняется
assertTags()source public
assertTags( string $string , array $expected , string $fullDebug false )
Принимает массив $expected и генерирует регулярное выражение для поиска в $string. Примеры для $expected:
Проверка наличия тега input с атрибутом name (содержащим любое непустое значение) и атрибутом id, содержащим 'my-input':
array('input' => array('name', 'id' => 'my-input')) Проверка наличия двух тегов p с некоторым текстом внутри:
array(
array('p' => true),
'textA',
'/p',
array('p' => true),
'textB',
'/p'
) Также можно указать выражение паттерна в значениях атрибутов или определённых тегов, добавив префикс preg: и заключив значение в слеши, например:
array(
array('input' => array('name', 'id' => 'preg:/FieldName\d+/')),
'preg:/My\s+field/'
) Важно: Эта функция очень толерантна к пробелам и принимает любые перестановки порядка атрибутов. Также она допускает пробелы между указанными тегами.
Параметры
- string
$string - HTML/XHTML/XML строка
- array
$expected - Массив, см. выше
- string
$fullDebugнеобязательно false - Использовать ли более подробный вывод.
Возвращает
booleanassertTextContains()source public
assertTextContains( string $needle , string $haystack , string $message '' , boolean $ignoreCase false )
Утверждение, что строка содержит другую строку, игнорируя различия в переносах строк. Полезно для кросс-платформенных тестов блоков текста.
Параметры
- string
$needle - Строка для поиска.
- string
$haystack - Строка, в которой производится поиск.
- string
$messageнеобязательно '' - Сообщение для отображения при ошибке.
- boolean
$ignoreCaseнеобязательно false - Использовать ли регистрозависимый поиск.
Возвращает
booleanassertTextEndsNotWith()source public
assertTextEndsNotWith( string $suffix , string $string , string $message '' )
Утверждение, что строка не заканчивается заданным префиксом, игнорируя различия в переносах строк. Полезно для кросс-платформенных тестов блоков текста.
Параметры
- string
$suffix - Суффикс, который не должен быть найден.
- string
$string - Строка для поиска.
- string
$messageнеобязательно '' - Сообщение для отображения при ошибке.
Возвращает
booleanassertTextEndsWith()source public
assertTextEndsWith( string $suffix , string $string , string $message '' )
Утверждение, что строка заканчивается заданным префиксом, игнорируя различия в переносах строк. Полезно для кросс-платформенных тестов блоков текста.
Параметры
- string
$suffix - Суффикс, который должен быть найден.
- string
$string - Строка для поиска.
- string
$messageнеобязательно '' - Сообщение для отображения при ошибке.
Возвращает
booleanassertTextEquals()source public
assertTextEquals( string $expected , string $result , string $message '' )
Проверка равенства текста, игнорируя различия в символах новой строки. Полезно для выполнения кросс-платформенных тестов блоков текста.
Параметры
- string
$expected - Ожидаемое значение.
- string
$result - Фактическое значение.
- string
$messageoptional '' - сообщение Сообщение для использования при ошибке.
Возвращает
booleanassertTextNotContains()source public
assertTextNotContains( string $needle , string $haystack , string $message '' , boolean $ignoreCase false )
Проверка, что текст не содержит другой текст, игнорируя различия в символах новой строки. Полезно для выполнения кросс-платформенных тестов блоков текста.
Параметры
- string
$needle - Строка для поиска.
- string
$haystack - Строка для поиска в ней.
- string
$messageoptional '' - Сообщение для отображения при ошибке.
- boolean
$ignoreCaseoptional false - Указывает, следует ли выполнять поиск с учётом регистра.
Возвращает
booleanassertTextNotEquals()source public
assertTextNotEquals( string $expected , string $result , string $message '' )
Проверка равенства текста, игнорируя различия в символах новой строки. Полезно для выполнения кросс-платформенных тестов блоков текста.
Параметры
- string
$expected - Ожидаемое значение.
- string
$result - Фактическое значение.
- string
$messageoptional '' - Сообщение для использования при ошибке.
Возвращает
booleanassertTextStartsNotWith()source public
assertTextStartsNotWith( string $prefix , string $string , string $message '' )
Проверяет, что строка не начинается с заданного префикса, игнорируя различия в символах новой строки. Полезно для выполнения кросс-платформенных тестов блоков текста.
Параметры
- string
$prefix - Префикс, которого не должно быть.
- string
$string - Строка для поиска.
- string
$messageoptional '' - Сообщение для использования при ошибке.
Возвращает
booleanassertTextStartsWith()source public
assertTextStartsWith( string $prefix , string $string , string $message '' )
Проверка, что строка начинается с заданного префикса, игнорируя различия в символах новой строки. Полезно для выполнения кросс-платформенных тестов блоков текста.
Параметры
- string
$prefix - Префикс для проверки.
- string
$string - Строка для поиска в ней.
- string
$messageoptional '' - Сообщение для использования при ошибке.
Возвращает
booleanassertWithinMargin()source protected static
assertWithinMargin( mixed $result , mixed $expected , mixed $margin , string $message '' )
Функция совместимости для проверки, находится ли значение в допустимом диапазоне
Параметры
- mixed
$result - mixed
$expected - mixed
$margin - диапазон
- string
$messageoptional '' - текст для отображения, если проверка не выполнена
date()source public static
date( string $format 'Y-m-d H:i:s' )
См. CakeTestSuiteDispatcher::date()
Параметры
- string
$formatoptional 'Y-m-d H:i:s' - формат.
Возвращает
stringendTest()source public
endTest( string $method )
Вызывается, когда метод тестового случая был выполнен (переопределите при необходимости).
Параметры
- string
$method - Метод теста, который был выполнен.
expectError()source protected
expectError( mixed $expected false , string $message '' )
Функция-обёртка для совместимости с setExpectedException
Устарело
3.0.0 Это функция-обёртка для совместимости с 1.x. Она будет удалена в 3.0Параметры
- mixed
$expectedoptional false - имя исключения или ошибки
- string
$messageoptional '' - текст для отображения, если проверка не выполнена
expectException()source public
expectException( mixed $name 'Exception' , string $message '' )
Функция-обёртка для совместимости с setExpectedException
Устарело
3.0.0 Это функция-обёртка для совместимости с 1.x. Она будет удалена в 3.0.Параметры
- mixed
$nameoptional 'Exception' - Имя ожидаемого исключения.
- string
$messageoptional '' - текст для отображения, если проверка не выполнена
getMock()source public
getMock( string $originalClassName , array $methods array() , array $arguments array() , string $mockClassName '' , boolean $callOriginalConstructor true , boolean $callOriginalClone true , boolean $callAutoload true , boolean $cloneArguments false , boolean $callOriginalMethods false , string $proxyTarget null )
Возвращает объект-заглушку для указанного класса.
Устарело
ИспользуйтеgetMockBuilder() или createMock() в новых тестах единиц.Параметры
- string
$originalClassName - Имя класса объекта, который нужно смоделировать.
- array
$methodsoptional array() По умолчанию все методы данного класса заменяются на дубликат, который просто возвращает NULL, если не указано возвращаемое значение с помощью will($this->returnValue()), например. При наличии второго (необязательного) параметра заменяются только методы, имена которых присутствуют в массиве. Поведение других методов не меняется. Передача NULL в качестве параметра означает, что не будет заменены никакие методы.
- array
$argumentsoptional array() Третий (необязательный) параметр может содержать массив параметров, который передаётся в конструктор исходного класса (который по умолчанию не заменяется на дубликат).
- string
$mockClassNameoptional '' Четвёртый (необязательный) параметр можно использовать для указания имени класса для создаваемого тестового дубликата.
- boolean
$callOriginalConstructoroptional true Пятый (необязательный) параметр можно использовать для отключения вызова конструктора исходного класса.
- boolean
$callOriginalCloneoptional true Шестой (необязательный) параметр можно использовать для отключения вызова конструктора клонирования исходного класса.
- boolean
$callAutoloadoptional true Седьмой (необязательный) параметр можно использовать для отключения __autoload() во время создания тестового дубликата.
- boolean
$cloneArgumentsoptional false - Не поддерживается.
- boolean
$callOriginalMethodsoptional false - Не поддерживается.
- string
$proxyTargetoptional null - Не поддерживается.
Возвращает
objectИсключения
InvalidArgumentExceptionПри установке неподдерживаемых параметров.
См.
https://phpunit.de/manual/current/en/test-doubles.htmlgetMockForModel()source public
getMockForModel( string $model , mixed $methods array() , array $config array() )
Создать макет модели, сохранить фикстуры и ассоциации таблиц
Параметры
- строка
$model - Имя модели, для которой нужно создать макет.
- смешанный
$methodsнеобязательно массив() - Список методов для создания макета
- массив
$configнеобязательно массив() - Данные конфигурации для конструктора макета.
Возвращает
ModelВыбрасывает
MissingModelExceptionloadFixtures()source public
loadFixtures( )
Выбирает фикстуры для загрузки для данного теста
Каждый параметр — имя модели, соответствующее фикстуре, например, 'Post', 'Author' и т. д.
Выбрасывает
Исключениеесли менеджер фикстур недоступен.
См. также
CakeTestCase::$autoFixturesrun()source public
run( PHPUnit_Framework_TestResult $result null )
Выполняет тестовый случай и собирает результаты в объекте TestResult. Если объект TestResult не передан, будет создан новый. Этот метод выполняется для каждого тестового метода в этом классе
Параметры
- PHPUnit_Framework_TestResult
$resultнеобязательно null - Объект результатов теста
Возвращает
PHPUnit_Framework_TestResultВыбрасывает
InvalidArgumentExceptionsetUp()source public
setUp( )
Настройка тестового случая, резервное копирование значений статических объектов для их последующего восстановления. В частности, сохраняет содержимое Configure и пути в App, если они еще не были сохранены.
skipIf()source public
skipIf( boolean $shouldSkip , string $message '' )
Переопределяет SimpleTestCase::skipIf для возврата логического значения
Параметры
- логическое
$shouldSkip - Условие для пропущения теста.
- строка
$messageнеобязательно '' - Сообщение для отображения.
Возвращает
логическоеskipUnless()source protected
skipUnless( boolean $condition , string $message '' )
Функция совместимости для пропуска.
Параметры
- логическое
$condition - Условие для запуска пропуска
- строка
$messageнеобязательно '' - Сообщение для пропуска
Возвращает
логическоеstartTest()source public
startTest( string $method )
Вызывается, когда метод тестового случая собирается начать работу (для переопределения при необходимости.)
Параметры
- строка
$method - Тестовый метод, который собирается выполнить.
tearDown()source public
tearDown( )
Разборка любых изменений статических объектов и их восстановление.
Краткое описание магических методов
Подробное описание свойств
$_dirtyControllersource
protected логическое
Флаг для проверки, является ли экземпляр контроллера грязным. После выполнения теста на контроллере он должен быть перестроен для очистки свойств.
false
$autoMocksource
public логическое
Автоматически создать макеты контроллеров, которые не были импровизированы
true
$contentssource
public строка
Результат отображения макета+представления последнего вызова testAction
null
$resultsource
public строка
Возвращенное значение диспетчеризации (requestAction), если таковое имеется
null
© 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-ControllerTestCase.html