interitty / nb-remote-phpunit

一个自定义PHPUnit脚本,允许NetBeans在远程主机上运行测试。主要开发目的是为了使在Docker环境中工作更加方便。

v1.0.3 2024-05-19 21:01 UTC

This package is auto-updated.

Last update: 2024-09-19 19:43:01 UTC


README

一个自定义PHPUnit脚本,允许NetBeans在远程主机上运行测试。主要开发目的是为了使在Docker环境中工作更加方便。

安装

您可以将remote-phpunit.sh脚本放置在您本地计算机的任何位置。

或者,您可以将此composer包作为测试堆栈的要求进行安装。

composer require interitty/nb-remote-phpunit

用法

按照以下步骤在NetBeans中激活远程执行

  • 右键单击您的项目,然后单击 "属性"。
  • 导航到 "测试 > PHPUnit"。
  • 勾选 "使用自定义PHPUnit脚本",并将 "PHPUnit脚本" 指向 SCRIPT_PATH/remote-phpunit.sh --docker-container=phpunit_1,其中 SCRIPT_PATH 是存放remote-phpunit.sh 脚本的文件夹的绝对路径。
  • 像往常一样运行测试。

当脚本作为项目测试堆栈的一部分时,SCRIPT_PATH 将是 PROJECT_PATH/vendor/bin/

默认的Docker容器名称 phpunit_1 可能不是您要使用的名称。别忘了更改这个属性。

NetBeans configuration example

设置

还有一些其他设置,您可能需要根据需要调整。

脚本参数描述
--base-dir="…"所有路径的基础目录,也用于截断输出消息。
--bootstrap "…"bootstrap.php 文件的路径。默认值为空。应从NetBeans项目设置 "使用Bootstrap > Bootstrap" 中填写。
--colors, --colors="…"在输出中使用颜色 ("从不", "自动" 或 "总是"). 默认值为 "自动". 可以通过脚本的参数进行更改。
--configuration "…"phpunit.xml 文件的路径。默认情况下,会在当前工作目录或父目录中搜索 phpunit.xml 文件。可以从NetBeans项目设置 "使用XML配置 > XML配置" 中填写。
--coverage-clover "…"覆盖率报告文件的本地路径。默认值为空。当NetBeans请求覆盖率报告时将自动填写。
--coverage-text生成在CI/CD管道中可用的代码覆盖率报告
--docker-container="…"应该执行远程PHPUnit的容器的名称。默认值为 "phpunit_1". 可以通过脚本的参数进行更改。
--docker-path="…"本地Docker二进制文件的路径。默认值为 "/usr/local/bin/docker". 可以通过脚本的参数进行更改。
--fail-fast当发生第一个错误时停止处理其他测试。
--filter="…"要测试的特定测试的名称。当NetBeans运行聚焦测试方法时将自动填写。
--group "…"要测试的测试组的逗号分隔列表。默认值为空。当NetBeans选择测试组时将自动填写。
--list-groups当存在时,将打印可用的测试组列表。应在 NetBeans 请求 测试组 时自动填充。
--log-junit "…"本地路径,用于 NetBeans 解析 PHPUnit 结果文件的 PHPUnit 结果文件。应由 NetBeans 自动填充。
--preserve-suite默认情况下,脚本会跳过将 NetBeansSuite.php 发送到 docker,因为这很难做到,而且没有用。如果需要,请使用此参数。
--remote-coverage-path="…"覆盖率报告文件的远程路径。路径的父文件夹应在 docker 卷 中。默认值为 "/tmp/junit/nb-phpunit-coverage.xml"。
--remote-junit-path="…"PHPUnit 结果文件的远程路径,NetBeans 从该路径解析结果。路径的父文件夹应在 docker 卷 中。默认值为 "/tmp/junit/nb-phpunit-log.xml"。
--remote-phpunit-path="…"PHPUnit 二进制的远程路径。默认值为 "/root/.composer/vendor/bin/phpunit"。可以通过脚本的参数进行更改。
--run="…"PHPUnit 运行的测试文件或文件夹的路径。应由 NetBeans 自动填充。
-v, --verbose显示关于执行命令和填充变量的调试信息。可以通过脚本的参数进行设置。
--whitelist="…"用于检查代码覆盖率的文件路径。默认值为空。应由脚本的参数自动填充。更多信息请参阅 PhpUnit 文档

环境变量

某些设置也可以使用环境变量进行设置。

环境变量描述
CLICOLOR=1启用彩色输出。
DEBUG=1增加详细程度以显示调试消息。
VERBOSE=1增加详细程度以显示警告消息。

限制

此脚本要求项目的本地路径与 docker 容器中的路径相同。它不提供任何路径转换。适用于此目的的 /opt/srvoptsrv) 文件夹非常适合此目的。