跳转到内容
PHP Ecosystem
Explore

Testing

此内容尚不支持你的语言。

This package provides a consistent set of Composer scripts for local validation.

Tool references:

Run Rector to apply automated code refactoring.

Terminal window
composer rector

Run Easy Coding Standard (ECS) and apply fixes.

Terminal window
composer ecs

Verify that runtime dependencies are correctly declared in composer.json.

Terminal window
composer check-dependencies

Run mutation testing.

Terminal window
composer mutation

Run mutation testing with static analysis enabled.

Terminal window
composer mutation-static

Run static analysis.

Terminal window
composer static

Run the full test suite.

Terminal window
composer tests

Composer scripts support forwarding additional arguments using --.

Run PHPUnit with code coverage report generation.

Terminal window
composer tests -- --coverage-html code_coverage

Run PHPStan with a different memory limit.

Terminal window
composer static -- --memory-limit=512M

Run the package suite with each supported Yii line in an isolated checkout, keeping PHP 8.3 or higher:

Terminal window
composer require yiisoft/yii2:2.0.55 --with-all-dependencies
composer tests
composer require yiisoft/yii2:22.0.x-dev --with-all-dependencies
composer tests

These commands change the checkout’s Composer requirements and lock file; use disposable checkouts for a matrix. The suite uses real bridge request/response processing with mocked RoadRunner transport. It covers emission and processing failures, after-send ordering, finalization when error reporting fails, declined dispatches during recycling, preservation of finalization and shutdown exceptions, session cookie selection, and upload reset. It does not start the RoadRunner server.

For an application smoke test, run its configured RoadRunner binary and send consecutive requests through the same worker: two visitors, absent/invalid session cookies, an upload followed by no upload, and streamed downloads. Verify response bytes and status, after-send ordering, and worker replacement after a fatal callback. Confirm each request enters application handling once and the first request after replacement succeeds. Record the binary version and dependency revisions. If the binary or application fixture is unavailable, report that runtime check as pending rather than treating mocked transport tests as server validation.