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 选项列表。在后续文档中,我们将探讨测试依赖项的主题: 测试依赖项