Files
XC_VM/docs/ru/guides/phpunit-phar.md
T
Divarion_D bdbcde97c7 docs: commit generated ru, translate locally before release (not in CI)
CI translation was slow, so move it out of GitHub Actions: docs/ru is now a
committed, generated tree refreshed LOCALLY before a release; CI only builds it.

- pages.yml: drop the setup-python/cache/translate steps — the workflow now just
  installs the build toolchain and runs `mkdocs build --strict` on the committed
  en+ru trees.
- .gitignore: stop ignoring docs/ru (now committed); keep site/ + .docs-cache/.
- Split deps: docs/requirements.txt = build only (mkdocs-material, static-i18n,
  used by CI); tools/docs/requirements.txt = translators (local-only).
- Makefile: docs-venv installs both; docs-build/docs-serve no longer translate
  (translation is the deliberate `make docs-translate` release step).
- updates_checklist.md: new "Regenerate translated documentation" step
  (make docs-translate + docs-build, commit docs/ru with the release commit).
- Commit the generated docs/ru (37 files, translators/yandex).

Rule: edit ONLY docs/en; docs/ru is generated — never hand-edit it.
2026-08-20 22:37:44 +03:00

2.8 KiB

PHPUnit PHAR: Загрузка и запуск тестов

В этом руководстве показано, как запускать тесты проекта с фиксированным двоичным кодом PHP:

  • PHP двоичный код: /home/xc_vm/bin/php/bin/php
  • Двоичный файл PHPUnit: local tools/.bin/phpunit.phar

Почему такая установка

phpunit.phar не включает PHP. Он всегда выполняется через интерпретатор PHP.

Если вы запустите ./phpunit.phar напрямую, он может использовать другой php из PATH. Используйте явный двоичный путь для обеспечения согласованности во время выполнения.

1. Проверить PHP

/home/xc_vm/bin/php/bin/php -v

2. Скачать PHPUnit PHAR

Этот проект привязан к PHP 8.1, поэтому используйте PHPUnit 10.

cd /home/xc_vm
mkdir -p tools/.bin
wget -O tools/.bin/phpunit.phar https://phar.phpunit.de/phpunit-10.phar
chmod +x tools/.bin/phpunit.phar

3. Проверьте PHPUnit

/home/xc_vm/bin/php/bin/php tools/.bin/phpunit.phar --version

4. Выполните все тесты

Конфигурационный файл проекта:

  • tests/phpunit.xml.dist

Бежать:

/home/xc_vm/bin/php/bin/php tools/.bin/phpunit.phar -c tests/phpunit.xml.dist

5. Запустите один тестовый файл

/home/xc_vm/bin/php/bin/php tools/.bin/phpunit.phar -c tests/phpunit.xml.dist tests/Unit/GitHubReleasesTest.php

6. Показать, какой тест выполняется сейчас

Используйте режим отладки для печати текущего теста:

/home/xc_vm/bin/php/bin/php tools/.bin/phpunit.phar -c tests/phpunit.xml.dist --debug --no-progress

7. Дополнительно: Выход покрытия

Если установлен xdebug или pcov:

XDEBUG_MODE=coverage /home/xc_vm/bin/php/bin/php tools/.bin/phpunit.phar -c tests/phpunit.xml.dist --coverage-text

Защитная записка

Не фиксируйте phpunit.phar в репозитории. Сохраняйте его локальным (tools/.bin) и обновляйте независимо.

Связанные файлы

Файл Роль
tools/.bin/phpunit.phar Закрепленный двоичный файл PHPUnit
tests/phpunit.xml.dist Конфигурация PHPUnit
tests/bootstrap.php Тестовый bootstrap (Composer автозагрузчик + константы)