phpunit指令与参数参考
目录
PHPUnit 是一个功能强大的 PHP 单元测试框架,提供了多种命令行选项和参数,用于灵活地执行测试、生成报告、过滤测试用例等。以下是一些常用的 PHPUnit 执行指令及其参数:
1. 基本执行指令
运行所有测试
phpunit
- 默认情况下,PHPUnit 会在当前目录及其子目录中查找测试文件(以
*Test.php
结尾的文件)并执行。
指定测试文件或目录
phpunit tests/
phpunit tests/MyTest.php
- 可以指定单个测试文件或整个测试目录运行测试。
2. 测试过滤
按测试类或方法过滤
phpunit --filter MyTest
phpunit --filter testMyMethod
--filter
参数可以根据测试类名或方法名过滤测试用例。
按注解过滤
phpunit --group group_name
- 如果测试方法或类中使用了
@group
注解,可以通过--group
参数指定运行特定组的测试。
3. 测试覆盖率报告
生成代码覆盖率报告
phpunit --coverage-html coverage
phpunit --coverage-text
phpunit --coverage-clover coverage.xml
--coverage-html
:生成 HTML 格式的覆盖率报告。--coverage-text
:生成文本格式的覆盖率报告。--coverage-clover
:生成 Clover XML 格式的覆盖率报告。
排除文件或目录
phpunit --coverage-html coverage --whitelist src/ --blacklist tests/
--whitelist
:指定包含在覆盖率分析中的文件或目录。--blacklist
:指定排除在覆盖率分析中的文件或目录。
4. 测试配置
使用配置文件
phpunit --configuration phpunit.xml
phpunit -c phpunit.xml
- 使用
phpunit.xml
配置文件来定义测试环境、过滤器、覆盖率等设置。
设置测试套件
phpunit --testsuite MyTestSuite
- 如果配置文件中定义了多个测试套件,可以通过
--testsuite
参数指定运行某个套件。
5. 性能和调试
重复运行测试
phpunit --repeat 10
- 重复运行测试指定次数。
显示测试执行时间
phpunit --testdox --stop-on-failure
--testdox
:以更易读的格式显示测试结果。--stop-on-failure
:在遇到第一个失败的测试时停止执行。
显示详细输出
phpunit -v
-v
:显示更详细的测试执行信息。
6. 测试数据
使用数据提供者
phpunit --filter testMyMethodWithDataProvider
- 如果测试方法使用了
@dataProvider
注解,可以通过--filter
参数指定运行特定数据集的测试。
7. 其他常用参数
生成日志文件
phpunit --log-junit results.xml
--log-junit
:生成 JUnit 格式的测试结果日志文件。
设置测试环境变量
phpunit --define APP_ENV=testing
--define
:设置环境变量,例如APP_ENV
。
排除测试
phpunit --exclude-group group_name
--exclude-group
:排除指定组的测试。
8. 示例:完整的命令行指令
以下是一个完整的 PHPUnit 命令行指令示例,结合了多种参数:
phpunit --configuration phpunit.xml --filter testMyMethod --group my_group --coverage-html coverage --log-junit results.xml
9. 常见快捷键
-c
:等同于--configuration
。-d
:等同于--define
。-v
:等同于--verbose
。
通过这些命令行参数,PHPUnit 可以灵活地满足各种测试需求,从简单的测试运行到复杂的覆盖率分析和测试报告生成。
9ong@TsingChan 文章内容由 AI 辅助生成。