PHPUnit установка

Тренажер по PHP для пользователей с начальным уровнем подготовки.

Тренажер PHP

Этот тренажер посвящен установке PHPUnit, самого популярного фреймворка для тестирования в PHP. Тестирование — это ключевой процесс в разработке, который помогает гарантировать качество кода и предотвращать ошибки при внесении изменений. Мы научимся устанавливать PHPUnit с помощью Composer, разберемся со структурой проекта и создадим базовый конфигурационный файл. Задания проведут вас по всему процессу: от инициализации проекта до подготовки к написанию первого теста. Вам предстоит работать с командами терминала, файлами конфигурации и разбираться в структуре проекта.

Список тем

Сопоставьте термины и их назначение

id: 39374_task_compare_1

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

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Фреймворк для модульного тестирования в PHP
Менеджер зависимостей для PHP
Секция в `composer.json` для пакетов, нужных только для разработки
Команда для установки всех зависимостей из `composer.lock` или `composer.json`
Composer
composer install
PHPUnit
require-dev
Сообщения
Проверить
Показать подсказку

Инициализация Composer-проекта

id: 39374_task_replace_2

Любой проект, использующий Composer, начинается с инициализации. Этот процесс создает файл `composer.json`. Введите недостающую часть команды, чтобы запустить интерактивный процесс создания файла конфигурации.

Заполните пропуски
composer input1S
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Исправьте команду добавления зависимости

id: 39374_task_error_3

PHPUnit является инструментом для разработки, и его не должно быть на продакшн-сервере. Чтобы Composer правильно это зафиксировал, нужно использовать специальный флаг. Исправьте команду, чтобы добавить PHPUnit как зависимость для разработки.

Найдите ошибку и исправьте
composer require phpunit/phpunit
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Заполните секцию в composer.json

id: 39374_task_bank_fill_4

После выполнения команды `composer require --dev phpunit/phpunit`, файл `composer.json` обновляется. Перетащите из банка данных правильные элементы, чтобы заполнить пропуски в секции, куда добавляются зависимости для разработки.

Нужно правильно расставить в пропуски предложенные варианты
{
    "name": "my/project",
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    input1S: {
        input2S: input3S
    }
}
"require-dev"
"phpunit/phpunit"
"^10.0"
"require"
":"
,
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Восстановите последовательность установки

id: 39374_task_sequencing_5

Вы находитесь в пустой директории проекта. Расставьте команды в правильном порядке, чтобы с нуля установить PHPUnit и проверить, что его исполняемый файл появился в проекте.

Расставьте строки в правильном порядке
composer require --dev phpunit/phpunit
# Проверяем, что исполняемый файл на месте
ls vendor/bin
# Создаем composer.json
composer init --no-interaction
Сообщения
Проверить
Показать подсказку

Укажите путь к исполняемому файлу

id: 39374_task_give_result_6

Composer устанавливает все зависимости в директорию `vendor`. Исполняемые файлы пакетов (бинарники) размещаются во вложенной папке. Изучите структуру и напишите относительный путь к исполняемому файлу PHPUnit от корня проекта.

Что должно получиться?
/my-project
├── src/
├── tests/
├── vendor/
│   ├── bin/
│   │   └── phpunit  <-- Вот он
│   ├── composer/
│   └── phpunit/
├── composer.json
└── composer.lock
Сообщения
Проверить
Показать подсказку

Соберите минимальный phpunit.xml

id: 39374_task_build_from_parts_7

Чтобы не указывать все опции в командной строке, используют конфигурационный файл `phpunit.xml`. Соберите из частей минимально работающую конфигурацию, которая будет запускать тесты из директории `tests` и использовать автозагрузчик Composer.

Перетяните в правильном порядке строки из одного блока в другой
<testsuite name="Unit">
</phpunit>
<directory>./tests</directory>
<phpunit bootstrap="vendor/autoload.php" colors="true">
</testsuites>
<testsuites>
<?xml version="1.0" encoding="UTF-8"?>
</testsuite>
<bootstrap>vendor/autoload.php</bootstrap>
<files>tests</files>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Найдите ошибки в phpunit.xml

id: 39374_task_error_8

В этом конфигурационном файле есть несколько ошибок: неверное имя корневого тега, неправильный атрибут для указания директории с тестами и отсутствующий обязательный тег. Исправьте все, чтобы конфигурация стала рабочей.

Найдите ошибку и исправьте
<?xml version="1.0" encoding="UTF-8"?>
<phpunit-config bootstrap="vendor/autoload.php">
    <testsuite name="Application Test Suite">
        <folder>./tests</folder>
    </testsuite>
</phpunit-config>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку
НайтиКурс.Ру