mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-10-28 19:03:18 +01:00
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.
2.8 KiB
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 автозагрузчик + константы) |