首先安装PHPUnit并配置phpunit.xml.dist,然后按PSR标准组织src和tests目录结构,编写测试类并添加composer test脚本,最后通过GitHub Actions实现CI自动化测试。

为你的 Composer 包编写自动化测试,关键是建立一个可重复、可靠且易于维护的测试流程。PHP 中最常用的测试工具是 PHPUnit,结合持续集成(CI)服务,可以实现真正的自动化。
安装并配置 PHPUnit
在你的包根目录中通过 Composer 安装 PHPUnit 作为开发依赖:
composer require --dev phpunit/phpunit创建一个基本的 phpunit.xml.dist 配置文件,定义测试自动加载和路径:
这个配置告诉 PHPUnit 从 tests 目录加载测试用例,并确保 src 中的代码能被正确包含。
组织测试目录结构
按照 PSR 标准组织代码结构。通常:
- src/:存放实际的 PHP 类
- tests/:存放对应的测试类,结构与 src 一致
例如,如果你有一个类 src/Calculator.php,那么对应测试应放在 tests/CalculatorTest.php。
测试类示例:
云模块_YunMOK网站管理系统采用PHP+MYSQL为编程语言,搭载自主研发的模块化引擎驱动技术,实现可视化拖拽无技术创建并管理网站!如你所想,无限可能,支持创建任何网站:企业、商城、O2O、门户、论坛、人才等一块儿搞定!永久免费授权,包括商业用途; 默认内置三套免费模板。PC网站+手机网站+适配微信+文章管理+产品管理+SEO优化+组件扩展+NEW Login界面.....目测已经遥遥领先..
class CalculatorTest extends TestCase
{
public function testAddReturnsCorrectResult()
{
$calc = new Calculator();
$this->assertEquals(4, $calc->add(2, 2));
}
}
添加 composer 脚本快捷运行测试
在 composer.json 中添加脚本,方便执行测试:
"scripts": {"test": "phpunit"
}
之后你可以用命令一键运行测试:
composer test集成持续集成(CI)
使用 GitHub Actions 实现自动化测试。在项目根目录创建 .github/workflows/test.yml:
name: Run Testson: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
- name: Install dependencies
run: composer install
- name: Run tests
run: composer test
每次推送或 PR 时,GitHub 都会自动运行测试,确保代码质量。
基本上就这些。写好单元测试,配上自动化执行,你的 Composer 包会更健壮也更专业。









