Trait ConsoleIntegrationTestTrait
Набор методов, упрощающих тестирование команд и классов оболочки.
Позволяет вызывать команды/оболочки с полным контекстом приложения.
Краткое описание свойств
- $_appArgs protected
array|nullНастраиваемые аргументы конструктора приложения.
- $_appClass protected
string|nullНастраиваемое имя класса приложения.
- $_err protected
Cake\TestSuite\Stub\ConsoleOutputЗаглушка вывода ошибок консоли
- $_exitCode protected
int|nullПоследний код выхода
- $_in protected
Cake\Console\ConsoleInputМок входных данных консоли
- $_out protected
Cake\TestSuite\Stub\ConsoleOutputЗаглушка вывода консоли
- $_useCommandRunner protected
boolИспользовать ли CommandRunner
Краткое описание методов
-
assertErrorContains() public
Проверяет, что
stderrсодержит ожидаемый вывод -
assertErrorEmpty() public
Проверяет, что
stderrпуст -
assertErrorRegExp() public
Проверяет, что
stderrсодержит ожидаемый регулярный выражение -
assertExitCode() public
Проверяет, что оболочка завершилась с ожидаемым кодом
-
assertExitError() public
Проверяет, что оболочка завершилась с кодом Command::CODE_ERROR
-
assertExitSuccess() public
Проверяет, что оболочка завершилась с кодом Command::CODE_SUCCESS
-
assertOutputContains() public
Проверяет, что
stdoutсодержит ожидаемый вывод -
assertOutputContainsRow() protected
Проверяет, что строка ячеек присутствует в выводе.
-
assertOutputEmpty() public
Проверяет, что
stdoutпуст -
assertOutputNotContains() public
Проверяет, что
stdoutне содержит ожидаемый вывод -
assertOutputRegExp() public
Проверяет, что
stdoutсодержит ожидаемый регулярный выражение -
cleanupConsoleTrait() public
Очищает состояние для подготовки к следующему тесту
-
cleanupContainer() public
Очищает все определенные моки и очищает конфигурацию класса приложения.
-
commandStringToArgs() protected
Создаёт массив $argv из строки команды
-
configApplication() public
Настраивает класс приложения для использования в интеграционных тестах.
-
createApp() protected
Создаёт экземпляр приложения.
-
exec() public
Выполняет интеграционный тест CLI
-
makeRunner() protected
Создаёт соответствующего диспетчера команд
-
mockService() public
Добавляет смокированный сервис в контейнер.
-
modifyContainer() public
Оборачивает контейнер приложения контейнером, содержащим моки.
-
removeMockService() public
Удаляет смокированный сервис из контейнера.
-
useCommandRunner() public
Устанавливает для этого тестового случая использование CommandRunner вместо устаревшего ShellDispatcher
Подробное описание методов
assertErrorContains() public
assertErrorContains(string $expected, string $message = ''): void
Утверждает, что stderr содержит ожидаемый вывод
Параметры
-
string$expected Ожидаемый вывод
-
string$message необязательно Сообщение об ошибке
Возвращает
voidassertErrorEmpty() public
assertErrorEmpty(string $message = ''): void
Утверждает, что stderr пусто
Параметры
-
string$message необязательно Сообщение, которое будет выведено при ошибке утверждения.
Возвращает
voidassertErrorRegExp() public
assertErrorRegExp(string $pattern, string $message = ''): void
Утверждает, что stderr содержит ожидаемый регулярный выражение
Параметры
-
string$pattern Ожидаемый шаблон
-
string$message необязательно Сообщение об ошибке
Возвращает
voidassertExitCode() public
assertExitCode(int $expected, string $message = ''): void
Утверждает, что оболочка завершилась с ожидаемым кодом
Параметры
-
int$expected Ожидаемый код выхода
-
string$message необязательно Сообщение об ошибке
Возвращает
voidassertExitError() public
assertExitError(string $message = ''): void
Утверждает, что оболочка завершилась с Command::CODE_ERROR
Параметры
-
string$message необязательно Сообщение об ошибке
Возвращает
voidassertExitSuccess() public
assertExitSuccess(string $message = ''): void
Утверждает, что оболочка завершилась с Command::CODE_SUCCESS
Параметры
-
string$message необязательно Сообщение об ошибке
Возвращает
voidassertOutputContains() public
assertOutputContains(string $expected, string $message = ''): void
Утверждает, что stdout содержит ожидаемый вывод
Параметры
-
string$expected Ожидаемый вывод
-
string$message необязательно Сообщение об ошибке
Возвращает
voidassertOutputContainsRow() protected
assertOutputContainsRow(array $row, string $message = ''): void
Проверяет, что строка ячеек существует в выводе.
Параметры
-
array$row Строка ячеек, существование которой нужно проверить в выводе.
-
string$message необязательно Сообщение об ошибке.
Возвращает
voidassertOutputEmpty() public
assertOutputEmpty(string $message = ''): void
Утверждает, что stdout пусто
Параметры
-
string$message необязательно Сообщение, которое будет выведено при ошибке утверждения.
Возвращает
voidassertOutputNotContains() public
assertOutputNotContains(string $expected, string $message = ''): void
Утверждает, что stdout не содержит ожидаемый вывод
Параметры
-
string$expected Ожидаемый вывод
-
string$message необязательно Сообщение об ошибке
Возвращает
voidassertOutputRegExp() public
assertOutputRegExp(string $pattern, string $message = ''): void
Утверждает, что stdout содержит ожидаемый регулярный выражение
Параметры
-
string$pattern Ожидаемый шаблон
-
string$message необязательно Сообщение об ошибке
Возвращает
voidcleanupConsoleTrait() public
cleanupConsoleTrait(): void
Очищает состояние, чтобы подготовиться к следующему тесту
Возвращает
voidcleanupContainer() public
cleanupContainer(): void
Очищает все созданные моки, а также очищает конфигурацию приложения.
Возвращает
voidcommandStringToArgs() protected
commandStringToArgs(string $command): array<string>
Создаёт массив $argv из строки команды
Параметры
-
string$command Строка команды
Возвращает
array<string>configApplication() public
configApplication(string $class, array|null $constructorArgs): void
Настраивает класс приложения для использования в интеграционных тестах.
Параметры
-
string$class Имя класса приложения.
-
array|null$constructorArgs Аргументы конструктора для вашего класса приложения.
Возвращает
voidcreateApp() protected
createApp(): Cake\Core\HttpApplicationInterfaceCake\Core\ConsoleApplicationInterface
Создаёт экземпляр приложения.
Использует конфигурацию, установленную в configApplication().
Возвращает
Cake\Core\HttpApplicationInterfaceCake\Core\ConsoleApplicationInterfaceexec() public
exec(string $command, array $input = []): void
Запускает интеграционный тест командной строки
Параметры
-
string$command Команда для выполнения
-
array$input необязательно Значения ввода для передачи в интерактивную оболочку
Возвращает
voidВыбрасывает
Cake\TestSuite\Stub\MissingConsoleInputExceptionRuntimeExceptionmakeRunner() protected
makeRunner(): Cake\Console\CommandRunnerCake\TestSuite\LegacyCommandRunner
Создаёт соответствующий диспетчер команд
Возвращает
Cake\Console\CommandRunnerCake\TestSuite\LegacyCommandRunnermockService() public
mockService(string $class, Closure $factory): $this
Добавляет смокированный сервис в контейнер.
При создании контейнера указанный класс будет сопоставлен с функцией фабрики. Функция фабрики будет использоваться для создания смокированных сервисов.
Параметры
-
string$class Класс или интерфейс, который вы хотите определить.
-
Closure$factory Функция фабрики для смокированных сервисов.
Возвращает
$thismodifyContainer() public
modifyContainer(Cake\Event\EventInterface $event, Cake\Core\ContainerInterface $container): Cake\Core\ContainerInterface|null
Оборачивает контейнер приложения контейнером, содержащим моки.
Если определены любые смокированные сервисы, контейнер приложения будет заменён контейнером, содержащим моки. Исходный контейнер будет установлен в качестве делегата для контейнера моков.
Параметры
-
Cake\Event\EventInterface$event Событие
-
Cake\Core\ContainerInterface$container Контейнер для обёртывания.
Возвращает
Cake\Core\ContainerInterface|nullremoveMockService() public
removeMockService(string $class): $this
Удалить смокированный сервис в контейнере.
Параметры
-
string$class Класс или интерфейс, который нужно удалить.
Возвращает
$thisuseCommandRunner() public
useCommandRunner(): void
Установить этому тестовому случаю использование CommandRunner вместо устаревшего ShellDispatcher
Возвращает
voidПодробное описание свойств
$_appArgs protected
Настраиваемые аргументы конструктора приложения.
Тип
array|null$_appClass protected
Настраиваемое имя класса приложения.
Тип
string|null$_err protected
Заглушка для вывода ошибок в консоль
Тип
Cake\TestSuite\Stub\ConsoleOutput$_exitCode protected
Последний код завершения
Тип
int|null$_in protected
Мок для ввода в консоль
Тип
Cake\Console\ConsoleInput$_out protected
Заглушка для вывода в консоль
Тип
Cake\TestSuite\Stub\ConsoleOutput$_useCommandRunner protected
Использовать CommandRunner?
Тип
bool
© 2005–present 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/4.3/trait-Cake.TestSuite.ConsoleIntegrationTestTrait.html