Spec-Zone.ru › CakePHP 2.10

Класс ControllerTestCase

Класс ControllerTestCase

PHPUnit_Framework_TestCase
Extended by CakeTestCase
Extended by ControllerTestCase
Абстрактный
Пакет: Cake\TestSuite
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/TestSuite/ControllerTestCase.php

Краткое описание свойств

  • $_dirtyController protected
    boolean

    Флаг для проверки, является ли экземпляр контроллера изменённым. После выполнения теста на контроллере он должен быть пересоздан для очистки свойств.

  • $_responseClass protected
    string
    Имя класса для имитации объекта ответа.
  • $autoMock public
    boolean
    Автоматически имитировать контроллеры, которые не имитируются
  • $contents public
    string
    Результат рендеринга макета + представления последнего вызова testAction
  • $controller public
    Controller
    Контроллер для тестирования в testAction
  • $headers public
    string
    Заголовки, которые были бы отправлены действием
  • $loadRoutes public
    boolean
    Использовать пользовательские маршруты во время тестов
  • $result public
    string
    Возвращаемый результат диспетчеризации (requestAction), если таковой имеется
  • $vars public
    array
    Переменные представления, полученные в результате последнего вызова testAction
  • $view public
    string
    Результат рендеринга представления последнего вызова testAction

Унаследованные свойства

  • _configure, _pathRestore, autoFixtures, dropTables, fixtureManager

Краткое описание методов

  • __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-веб-сервисы.
  • method POST или 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.html
END_OF_DOCUMENT_MARKER

assertEqual()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.0

assertNoPattern()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 необязательно ''
текст, который будет отображен, если утверждение не выполняется

assertPostConditions()source protected

assertPostConditions( )

Объявляет окончание теста.

assertPreConditions()source protected

assertPreConditions( )

Объявляет начало теста.

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
Использовать ли более подробный вывод.

Возвращает

boolean

assertTextContains()source public

assertTextContains( string $needle , string $haystack , string $message '' , boolean $ignoreCase false )

Утверждение, что строка содержит другую строку, игнорируя различия в переносах строк. Полезно для кросс-платформенных тестов блоков текста.

Параметры

string $needle
Строка для поиска.
string $haystack
Строка, в которой производится поиск.
string $message необязательно ''
Сообщение для отображения при ошибке.
boolean $ignoreCase необязательно false
Использовать ли регистрозависимый поиск.

Возвращает

boolean

assertTextEndsNotWith()source public

assertTextEndsNotWith( string $suffix , string $string , string $message '' )

Утверждение, что строка не заканчивается заданным префиксом, игнорируя различия в переносах строк. Полезно для кросс-платформенных тестов блоков текста.

Параметры

string $suffix
Суффикс, который не должен быть найден.
string $string
Строка для поиска.
string $message необязательно ''
Сообщение для отображения при ошибке.

Возвращает

boolean

assertTextEndsWith()source public

assertTextEndsWith( string $suffix , string $string , string $message '' )

Утверждение, что строка заканчивается заданным префиксом, игнорируя различия в переносах строк. Полезно для кросс-платформенных тестов блоков текста.

Параметры

string $suffix
Суффикс, который должен быть найден.
string $string
Строка для поиска.
string $message необязательно ''
Сообщение для отображения при ошибке.

Возвращает

boolean
END_OF_DOCUMENT_MARKER

assertTextEquals()source public

assertTextEquals( string $expected , string $result , string $message '' )

Проверка равенства текста, игнорируя различия в символах новой строки. Полезно для выполнения кросс-платформенных тестов блоков текста.

Параметры

string $expected
Ожидаемое значение.
string $result
Фактическое значение.
string $message optional ''
сообщение Сообщение для использования при ошибке.

Возвращает

boolean

assertTextNotContains()source public

assertTextNotContains( string $needle , string $haystack , string $message '' , boolean $ignoreCase false )

Проверка, что текст не содержит другой текст, игнорируя различия в символах новой строки. Полезно для выполнения кросс-платформенных тестов блоков текста.

Параметры

string $needle
Строка для поиска.
string $haystack
Строка для поиска в ней.
string $message optional ''
Сообщение для отображения при ошибке.
boolean $ignoreCase optional false
Указывает, следует ли выполнять поиск с учётом регистра.

Возвращает

boolean

assertTextNotEquals()source public

assertTextNotEquals( string $expected , string $result , string $message '' )

Проверка равенства текста, игнорируя различия в символах новой строки. Полезно для выполнения кросс-платформенных тестов блоков текста.

Параметры

string $expected
Ожидаемое значение.
string $result
Фактическое значение.
string $message optional ''
Сообщение для использования при ошибке.

Возвращает

boolean

assertTextStartsNotWith()source public

assertTextStartsNotWith( string $prefix , string $string , string $message '' )

Проверяет, что строка не начинается с заданного префикса, игнорируя различия в символах новой строки. Полезно для выполнения кросс-платформенных тестов блоков текста.

Параметры

string $prefix
Префикс, которого не должно быть.
string $string
Строка для поиска.
string $message optional ''
Сообщение для использования при ошибке.

Возвращает

boolean

assertTextStartsWith()source public

assertTextStartsWith( string $prefix , string $string , string $message '' )

Проверка, что строка начинается с заданного префикса, игнорируя различия в символах новой строки. Полезно для выполнения кросс-платформенных тестов блоков текста.

Параметры

string $prefix
Префикс для проверки.
string $string
Строка для поиска в ней.
string $message optional ''
Сообщение для использования при ошибке.

Возвращает

boolean

assertWithinMargin()source protected static

assertWithinMargin( mixed $result , mixed $expected , mixed $margin , string $message '' )

Функция совместимости для проверки, находится ли значение в допустимом диапазоне

Параметры

mixed $result
mixed $expected
mixed $margin
диапазон
string $message optional ''
текст для отображения, если проверка не выполнена

date()source public static

date( string $format 'Y-m-d H:i:s' )

См. CakeTestSuiteDispatcher::date()

Параметры

string $format optional 'Y-m-d H:i:s'
формат.

Возвращает

string

endTest()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 $expected optional false
имя исключения или ошибки
string $message optional ''
текст для отображения, если проверка не выполнена

expectException()source public

expectException( mixed $name 'Exception' , string $message '' )

Функция-обёртка для совместимости с setExpectedException

Устарело

3.0.0 Это функция-обёртка для совместимости с 1.x. Она будет удалена в 3.0.

Параметры

mixed $name optional 'Exception'
Имя ожидаемого исключения.
string $message optional ''
текст для отображения, если проверка не выполнена

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 $methods optional array()

По умолчанию все методы данного класса заменяются на дубликат, который просто возвращает NULL, если не указано возвращаемое значение с помощью will($this->returnValue()), например. При наличии второго (необязательного) параметра заменяются только методы, имена которых присутствуют в массиве. Поведение других методов не меняется. Передача NULL в качестве параметра означает, что не будет заменены никакие методы.

array $arguments optional array()

Третий (необязательный) параметр может содержать массив параметров, который передаётся в конструктор исходного класса (который по умолчанию не заменяется на дубликат).

string $mockClassName optional ''

Четвёртый (необязательный) параметр можно использовать для указания имени класса для создаваемого тестового дубликата.

boolean $callOriginalConstructor optional true

Пятый (необязательный) параметр можно использовать для отключения вызова конструктора исходного класса.

boolean $callOriginalClone optional true

Шестой (необязательный) параметр можно использовать для отключения вызова конструктора клонирования исходного класса.

boolean $callAutoload optional true

Седьмой (необязательный) параметр можно использовать для отключения __autoload() во время создания тестового дубликата.

boolean $cloneArguments optional false
Не поддерживается.
boolean $callOriginalMethods optional false
Не поддерживается.
string $proxyTarget optional null
Не поддерживается.

Возвращает

object

Исключения

InvalidArgumentException
При установке неподдерживаемых параметров.

См.

https://phpunit.de/manual/current/en/test-doubles.html
END_OF_DOCUMENT_MARKER

getMockForModel()source public

getMockForModel( string $model , mixed $methods array() , array $config array() )

Создать макет модели, сохранить фикстуры и ассоциации таблиц

Параметры

строка $model
Имя модели, для которой нужно создать макет.
смешанный $methods необязательно массив()
Список методов для создания макета
массив $config необязательно массив()
Данные конфигурации для конструктора макета.

Возвращает

Model

Выбрасывает

MissingModelException

loadFixtures()source public

loadFixtures( )

Выбирает фикстуры для загрузки для данного теста

Каждый параметр — имя модели, соответствующее фикстуре, например, 'Post', 'Author' и т. д.

Выбрасывает

Исключение
если менеджер фикстур недоступен.

См. также

CakeTestCase::$autoFixtures

run()source public

run( PHPUnit_Framework_TestResult $result null )

Выполняет тестовый случай и собирает результаты в объекте TestResult. Если объект TestResult не передан, будет создан новый. Этот метод выполняется для каждого тестового метода в этом классе

Параметры

PHPUnit_Framework_TestResult $result необязательно null
Объект результатов теста

Возвращает

PHPUnit_Framework_TestResult

Выбрасывает

InvalidArgumentException

setUp()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( )

Разборка любых изменений статических объектов и их восстановление.

Краткое описание магических методов

testAction()source public

testAction( $options )

Позволяет выполнять функциональные тесты действия контроллера.

Параметры

$options необязательно

Возвращает

смешанный

Подробное описание свойств

$_dirtyControllersource

protected логическое

Флаг для проверки, является ли экземпляр контроллера грязным. После выполнения теста на контроллере он должен быть перестроен для очистки свойств.

false

$_responseClasssource

protected строка

Имя класса для имитации объекта ответа.

'CakeResponse'

$autoMocksource

public логическое

Автоматически создать макеты контроллеров, которые не были импровизированы

true

$contentssource

public строка

Результат отображения макета+представления последнего вызова testAction

null

$controllersource

public Controller

Контроллер для тестирования в testAction

null

$headerssource

public строка

Заголовки, которые должны были быть отправлены действием

null

$loadRoutessource

public логическое

Использовать пользовательские маршруты во время тестов

true

$resultsource

public строка

Возвращенное значение диспетчеризации (requestAction), если таковое имеется

null

$varssource

public массив

Результат переменных представления последнего вызова testAction

null

$viewsource

public строка

Результат отображения представления последнего вызова testAction

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API