CLI API 参考
在 Pest 文档的前几章中,我们介绍了 Pest 中可用的众多 CLI 选项。此外,Pest 还提供了许多其他可能有用的选项。为了方便您使用,下面提供了完整的 CLI API 参考。
配置
--init:初始化标准 Pest 配置。--bootstrap <file>测试运行之前包含的 PHP 脚本。-c|--configuration <file>:从 XML 文件读取配置。--no-configuration:忽略默认配置文件(phpunit.xml)。--extension <class>:使用引导程序注册测试运行器扩展。 --no-extensions:不加载 PHPUnit 扩展。--include-path <path(s)>:在 PHP 的 include_path 前面添加给定的路径。-d <key[=value]>:设置 php.ini 值。--cache-directory <dir>:指定缓存目录。--generate-configuration:使用建议的设置生成配置文件。--migrate-configuration:将配置文件迁移到当前格式。--generate-baseline <file>:生成问题基线。--use-baseline <file>:使用基线忽略问题。--ignore-baseline:不要使用基线来忽略问题。--test-directory:指定包含 Pest.php、TestCase.php、辅助程序和测试的测试目录。默认值:tests
选择
--bail:第一次测试未通过时停止执行。--ci:忽略使用重点测试->only()并运行整个测试套件。--todos:将待办事项列表输出到标准输出。--notes:输出到带有注释的标准输出测试。--issue:将具有给定问题编号的测试输出到标准输出。--pr:使用给定的拉取请求编号输出到标准输出测试。--pull-request:使用给定的拉取请求编号输出到标准输出测试(别名--pr)。--retry:首先运行未通过的测试,并在第一次出现错误或失败时停止执行。--list-suites列出可用的测试套件。--testsuite <name>:仅运行指定测试套件中的测试。--exclude-testsuite <name>:从指定的测试套件中排除测试。--list-groups:列出可用的测试组。--group <name>:仅运行来自指定组的测试。--exclude-group <name>:从指定组中排除测试。--covers <name>:仅运行旨在覆盖的测试<name>。--uses <name>:仅运行打算使用的测试<name>。--requires-php-extension <name>:仅运行需要 PHP 扩展的测试。 --list-test-files:列出可用的测试文件。--list-tests:列出可用的测试。--list-tests-xml <file>:以 XML 格式列出可用的测试。--filter <pattern>:过滤要运行的测试--exclude-filter <pattern>:排除指定过滤模式的测试。--test-suffix <suffixes>:仅在指定后缀的文件中搜索测试。默认值:Test.php、.phpt
执行
--parallel并行运行测试。--update-snapshots:使用“toMatchSnapshot”期望更新测试的快照。--globals-backup:为每个测试备份和恢复 $GLOBALS。--static-backup:备份和恢复每个测试的静态属性。--strict-coverage:严格控制代码覆盖率元数据。--strict-global-state:严格控制全局状态的改变。--disallow-test-output:测试时要严格控制输出。--enforce-time-limit:根据测试规模强制执行时间限制。--default-time-limit <sec>:未声明大小的测试的超时时间(秒)。--dont-report-useless-tests:不要报告没有测试任何东西的测试。--stop-on-defect:第一次测试未通过时停止执行。--stop-on-error:第一次出现错误时停止执行。--stop-on-failure:第一次出现错误或失败时停止执行。--stop-on-warning:第一次警告时停止执行。--stop-on-risky:第一次有风险的测试后停止执行。--stop-on-deprecation:在第一次触发弃用的测试后停止。--stop-on-notice:第一次触发通知的测试后停止。--stop-on-skipped:跳过第一个测试后停止执行。--stop-on-incomplete:第一次测试不完整时停止执行。--fail-on-empty-test-suite:当未运行任何测试时,使用 shell 退出代码发出信号失败。--fail-on-warning:将出现警告的测试视为失败。--fail-on-risky:将有风险的测试视为失败。--fail-on-deprecation:当触发弃用时,使用 shell 退出代码发出信号失败。--fail-on-phpunit-deprecation:当触发 PHPUnit 弃用时,使用 shell 退出代码发出信号失败。--fail-on-notice:当触发通知时,使用 shell 退出代码发出信号失败。--fail-on-skipped:将跳过的测试视为失败。--fail-on-incomplete:当测试被标记为未完成时,使用 shell 退出代码发出信号失败。--cache-result:将测试结果写入缓存文件。--do-not-cache-result:不将测试结果写入缓存文件--order-by <order>:按顺序运行测试:默认|缺陷|依赖|持续时间|不依赖|随机|反向|大小。--random-order-seed <N>:以随机顺序运行测试时使用指定的随机种子
报告
--colors <flag>:在输出中使用颜色(“从不”、“自动”或“始终”)。--columns <n>:用于进度输出的列数。--columns max:使用最大列数来输出进度。--stderr:写入 STDERR 而不是 STDOUT。--no-progress:禁用测试执行进度的输出。--no-results:禁用测试结果的输出。--no-output:禁用所有输出。--display-incomplete:显示未完成测试的详细信息。--display-skipped:显示跳过的测试的详细信息。--display-deprecations:显示测试触发的弃用的详细信息。--display-phpunit-deprecations:显示 PHPUnit 弃用的详细信息。--display-errors:显示测试触发的错误的详细信息。--display-notices:显示测试触发的通知的详细信息。--display-warnings:显示测试触发的警告的详细信息。--reverse-list:以相反的顺序打印缺陷。--teamcity:用 TeamCity 格式替换默认的进度和结果输出。--testdox:用 TestDox 格式替换默认结果输出--testdox-summary:对出现错误、失败或问题的测试重复 TestDox 输出。--debug:用调试信息替换默认的进度和结果输出。--compact:用紧凑格式替换默认结果输出
日志记录
--log-junit <file>:将测试结果以JUnit XML格式写入文件。--log-teamcity <file>:将测试结果以TeamCity格式写入文件。--testdox-html <file>:将测试结果以TestDox格式(HTML)写入文件。--testdox-text <file>:将测试结果以TestDox格式(纯文本)写入文件。--log-events-text <file>:将事件以纯文本形式传输到文件。--log-events-verbose-text <file>:将事件以纯文本(包含遥测信息)的形式传输到文件。--no-logging:忽略 XML 配置文件中配置的日志记录
代码覆盖率
--coverage:生成代码覆盖率报告并输出到标准输出。--coverage --min=<value>:设定最低要求的覆盖率百分比,如果不满足则失败。--coverage-clover <file>:将 Clover XML 格式的代码覆盖率报告写入文件。--coverage-cobertura <file>:将Cobertura XML格式的代码覆盖率报告写入文件。--coverage-crap4j <file>:将Crap4J XML格式的代码覆盖率报告写入文件。--coverage-html <dir>:将HTML格式的代码覆盖率报告写入目录。--coverage-php <file>:将序列化的代码覆盖率数据写入文件。--coverage-text=<file>:将代码覆盖率报告以文本格式写入文件[默认:标准输出]。--only-summary-for-coverage-text:文本格式的代码覆盖率报告选项:仅显示摘要。--show-uncovered-for-coverage-text:文本格式的代码覆盖率报告选项:显示未发现的文件。--coverage-xml <dir>:将XML格式的代码覆盖率报告写入目录。--warm-coverage-cache:热静态分析缓存。--coverage-filter <dir>: 包括<dir>:在代码覆盖率报告中。--path-coverage:除了线路覆盖率之外,还报告路径覆盖率。--disable-coverage-ignore:禁用忽略代码覆盖率的元数据。--no-coverage:忽略 XML 配置文件中配置的代码覆盖率报告
突变测试
--mutate:运行突变测试,以了解测试的质量。--mutate --parallel:并行运行突变测试。--mutate --min:设定所需的最低突变分数,如果不满足则失败。--mutate --id:仅运行指定 ID 的突变。例如:--id=ecb35ab30ffd3491。请注意,您需要提供与原始运行相同的选项。--mutate --covered-only:仅为测试涵盖的类生成突变。--mutate --bail:在第一次未经测试或未发现的突变时停止突变测试执行。--mutate --class:为给定的类生成突变。例如 --class=App\Models。--mutate --ignore:生成突变时忽略给定的类。例如 --ignore=App\Http\Requests。--mutate --clear-cache:清除变异缓存。--mutate --no-cache:清除变异缓存。--mutate --ignore-min-score-on-zero-mutations:当没有突变时,忽略最低分数要求。--mutate --covered-only:仅为测试涵盖的类生成突变。--mutate --everything:为所有类别生成突变,即使它们未被测试覆盖。--mutate --profile:将最慢的十个突变输出到标准输出。--mutate --retry:首先运行未经测试或未发现的突变,并在第一次出现错误或失败时停止执行。--mutate --stop-on-uncovered:在第一个未经测试的突变时停止突变测试执行。--mutate --stop-on-untested:在第一个未经测试的突变时停止突变测试执行。
分析
--profile:将最慢的十个测试输出到标准输出
在本章中,您找到了 Pest 提供的完整 CLI 选项列表。在后续文档中,我们将探讨测试依赖项的主题: 测试依赖项