ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

PHPUnit Kit

gerardroche ST3

PHPUnit 集成。

标签 php, phpunit, 测试

详情

安装次数

  • 总数 7K
  • Win 4K
  • Mac 2K
  • Linux 2K
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日
Windows 1 1 0 0 0 1 0 2 0 1 0 0 0 0 0 1 0 1 0 0 0 3 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 2 0 1 0 1 1
Mac 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 2 2 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

README

源代码
raw.githubusercontent.com

欢迎使用 PHPUnit Kit

GitHub CI Status CodeCov Coverage Status Download Count

通过无缝集成PHPUnit,提升您的编码体验 Sublime Text

PHPUnitKit in Action

特性

  • 运行测试方法
  • 运行测试文件
  • 运行测试套件
  • 运行最近的测试
  • 运行最后的测试
  • 使用多光标运行多个测试方法
  • 通过SSH在远程服务器上运行测试
  • 通过Docker运行测试
  • 通过侧边栏菜单运行测试
  • 通过上下文菜单运行测试
  • 在保存时自动运行测试
  • 颜色输出
  • 快速跳转到下一个和上一个失败项
  • 快速在测试和被测试的文件之间切换
  • 通过命令面板切换选项
  • 在保存时切换运行测试
  • 完全定制的CLI选项配置
  • 支持
    • Artisan - Artisan 是 Laravel 内置的命令行界面。
    • Composer - Composer 是 PHP 的依赖管理器。
    • iTerm2 - iTerm2 将终端带入现代时代。
    • Kitty - Kitty 是一个快速的、功能丰富的、跨平台的、基于GPU的终端。
    • ParaTest - ParaTest 在PHPUnit中增加并行测试支持。
    • Pest - Pest 是一个注重简洁性的测试框架。
    • xterm - X Window 系统的终端仿真器。
    • cmd - Windows 的命令行解释器。
    • PowerShell - 一个跨平台的命令行壳。
    • Tmux - 一个终端多路复用器。 :new
  • 无需任何配置

阅读在Sublime Text中使用PHPUnit进行测试以获取快速入门。

目录 (点击展开)

安装

方法1:使用Package Control安装

  1. 打开Sublime Text。
  2. Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板。
  3. 输入“Package Control: Install Package”,然后按Enter
  4. 在输入字段中输入“PHPUnitKit”,然后从可用包列表中选择它。

方法2:手动安装

  1. 访问PHPUnitKit GitHub仓库
  2. 点击“代码”按钮,然后选择“下载ZIP”。
  3. 解压下载的ZIP文件。
  4. 打开Sublime Text,并转到首选项 -> 浏览包...以打开包文件夹。
  5. 从解压的ZIP中复制“PHPUnitKit”文件夹,并将其粘贴到包文件夹中。

方法3:手动Git仓库安装

  1. 打开终端或命令提示符。
  2. 导航到Sublime Text包目录
    • 在Windows中:%APPDATA%\Sublime Text\Packages
    • 在macOS中:~/Library/Application Support/Sublime Text/Packages
    • 在Linux中:~/.config/sublime-text/Packages
  3. 使用Git将插件仓库直接克隆到包目录
git clone https://github.com/gerardroche/sublime-phpunit.git PHPUnitKit

设置

(可选:无需配置。)

要添加首选的键绑定,请按照以下步骤操作

  1. 打开Sublime Text菜单:命令面板 → 首选项: 键绑定
  2. 将以下键绑定添加到配置文件中
[
    { "keys": ["ctrl+shift+a"], "command": "phpunit_test_suite" },
    { "keys": ["ctrl+shift+c"], "command": "phpunit_test_cancel" },
    { "keys": ["ctrl+shift+f"], "command": "phpunit_test_file" },
    { "keys": ["ctrl+shift+l"], "command": "phpunit_test_last" },
    { "keys": ["ctrl+shift+n"], "command": "phpunit_test_nearest" },
    { "keys": ["ctrl+shift+r"], "command": "phpunit_test_results" },
    { "keys": ["ctrl+shift+s"], "command": "phpunit_test_switch" },
    { "keys": ["ctrl+shift+v"], "command": "phpunit_test_visit" }
]

命令

命令 描述
PHPUnit: Test Nearest 执行与光标最近处的测试。如果当前文件不是指定的测试文件,它将运行当前文件的测试。
PHPUnit: Test File 运行当前打开文件的测试。如果不是测试文件,则运行当前文件的测试。
PHPUnit: Test Suite 运行与当前文件关联的测试套件。
PHPUnit: Test Last 运行最近执行的测试。
PHPUnit: Test Switch 在测试文件中,打开被测试的文件;否则,打开相应的测试文件。
PHPUnit: Test Visit 快速访问最后一次运行的测试。
PHPUnit: Test Results 打开测试输出面板(适用于“sublime”策略)。
PHPUnit: Test Cancel 停止任何正在进行的测试执行。
PHPUnit: Test Coverage 使用您的默认浏览器查看代码覆盖率。
PHPUnit: Toggle Run Test On Save 切换测试文件自动命令的开/关。
PHPUnit: Toggle… 切换选项,例如PHPUnit CLI设置。
首选项: PHPUnit 设置 打开设置编辑器。

使用这些命令增强您的测试工作流程,直接在Sublime Text中进行高效测试。

快捷键绑定

描述
F4 跳转到下一个失败处
Shift+F4 跳转到上一个失败处

策略

PHPUnitKit可以使用称为“策略”的不同执行环境来运行测试。

示例:使用Tmux策略

  1. 打开命令面板:首选项: PHPUnit 设置
  2. 将以下内容添加到您的设置中
"phpunit.strategy": "tmux"

可用策略及其标识符

策略 标识符 描述
Sublime (默认) sublime 将测试命令发送到Sublime Text的exec输出面板。
iTerm2.app iterm 将测试命令发送到iTerm2 >= 2.9(在MacVim GUI中很有用)。
Kitty kitty 将测试命令发送到Kitty终端。
xterm xterm 向xterm终端发送测试命令。
cmd cmd 向cmd.exe终端发送测试命令。
PowerShell powershell 向PowerShell命令壳发送测试命令。
Tmux tmux 向Tmux终端多路复用器发送测试命令。 :new

配置

要配置PHPUnitKit,请按照以下步骤操作

  1. 打开命令面板:首选项: PHPUnit 设置

可用设置及其详细信息

设置 类型 默认值 描述
phpunit.executable 字符串列表 自动发现 运行测试的PHPUnit可执行文件的路径。展开环境变量和用户家目录 ~ 占位符。可执行文件可以是字符串或参数列表。例如:vendor/bin/phpunit
phpunit.options 字典 {} 传递给PHPUnit的命令行选项。例如:{"no-coverage": true}
phpunit.php_executable 字符串 自动发现 运行测试的PHP可执行文件的路径。展开环境变量和用户家目录 ~ 占位符。例如:~/.phpenv/versions/8.2/bin/php
phpunit.save_all_on_run 布尔值 true 在运行测试前自动保存所有未保存的缓冲区。
phpunit.on_post_save 列表 [] 当保存视图时执行的自动命令。例如:["phpunit_test_file"]
phpunit.debug 布尔值 false 打印有关测试运行器的调试信息。
phpunit.prepend_cmd 列表 [] 将自定义命令添加到测试运行器前。
phpunit.strategy 字符串 sublime 用于运行测试的执行环境。
phpunit.font_size 整数 编辑器默认值 PHPUnit输出的字体大小。
phpunit.composer 布尔值 true 使用Composer安装的可执行文件。
phpunit.artisan 布尔值 false 使用Artisan运行测试。
phpunit.paratest 布尔值 false 使用ParaTest运行测试。
phpunit.pest 布尔值 false 使用Pest运行测试。

SSH设置

配置运行远程测试的SSH设置

设置 类型 默认值 描述
phpunit.ssh 布尔值 false 启用SSH进行远程测试。
phpunit.ssh_options 字典 {} 通过SSH运行测试的选项。例如:{"-p": "22", "-tt": true}
phpunit.ssh_user 字符串 null 通过SSH运行测试的用户。例如:vagrant
phpunit.ssh_host 字符串 null 通过SSH运行测试的主机。例如:homestead.test
phpunit.ssh_paths 字典 {} 通过SSH运行测试的路径映射。键:本地路径,值:对应的远程路径。展开环境变量和用户家目录 ~ 占位符。例如:{"~/code/project1": "~/project1"}

Docker设置

为在容器中运行测试配置Docker设置

设置 类型 默认值 描述
phpunit.docker 布尔值 false 启用Docker进行测试。
phpunit.docker_command 列表 [] 通过Docker运行测试时使用的命令。例如:["docker", "exec", "-it", "my-container"]
phpunit.docker_paths 字典 {} 通过Docker运行测试的路径映射。键:本地路径,值:对应的远程路径。展开环境变量和用户家目录 ~ 占位符。例如:{"~/code/project1": "~/project1"}

Tmux设置 :new

为在tmux面板中运行测试配置Tmux设置

设置 类型 默认值 描述
phpunit.tmux_clear 布尔值 true 在运行测试前清理终端屏幕。
phpunit.tmux_clear_scrollback 布尔值 true 清理终端的滚动缓冲区或使用扩展的“E3”功能不尝试清理。
phpunit.tmux_target 字符串 :. 指定用于运行测试的会话、窗口和面板。

格式:{会话}:{窗口}.{面板}

默认值表示当前面板。

例如,:{start}.{top} 表示当前会话、编号最低的窗口和最上面的面板。

请参见 Tmux文档 了解目标的使用。

CLI选项

如果您想让一些CLI选项保持存在,可以在设置中配置它们。

命令面板→首选项:PHPUnit设置

{
    "phpunit.options": {
        "no-coverage": true,
        "no-progress": true,
        "colors=never": true,
        "order-by=": "defects",
        "coverage-html": "build/coverage",
        "d": ["display_errors=1", "xdebug.scream=0"],
    }
}

上述选项将作为CLI选项传递给PHPUnit

-d "display_errors=1" \
-d "xdebug.scream=0" \
--no-coverage \
--no-progress \
--colors=never \
--order-by=defects \
--coverage-html build/coverage

示例: 忽略XML配置文件中配置的代码覆盖率报告

这可以帮助您保持测试快速。您可以在需要时从命令面板切换为无覆盖率。

命令面板→首选项:PHPUnit设置

{
    "phpunit.options": {
        "no-coverage": true,
    }
}

示例: 在第一次错误、失败、警告或高风险测试后停止执行

命令面板→首选项:PHPUnit设置

{
    "phpunit.options": {
        "stop-on-defect": true
    }
}

示例: 禁用进度和输出

如果您正在从PHPUnit迁移到Pest并且想要隐藏多余的输出,此选项非常有用。

命令面板→首选项:PHPUnit设置

{
    "phpunit.options": {
        "no-progress": true,
        "no-output": true,
    }
}

PHPUnit执行程序

当运行测试时使用PHPUnit可执行文件的路径。环境变量和用户主目录~占位符将被扩展。可执行文件可以是字符串或参数列表。

默认:自动发现。

示例

命令面板→首选项:PHPUnit设置

{
    "phpunit.executable": "vendor/bin/phpunit",
    "phpunit.executable": "~/path/to/phpunit",
    "phpunit.executable": ["artisan", "test"]
}

PHP执行程序

当运行测试时使用PHP可执行文件的路径。环境变量和用户主目录~占位符将被扩展。

默认:自动发现。

示例

命令面板→首选项:PHPUnit设置

{
    "phpunit.php_executable": "~/.phpenv/versions/8.2/bin/php"
}

SSH

示例: 使用Laravel Homestead通过SSH运行测试

{
    "phpunit.ssh": true,
    "phpunit.ssh_options": {
        "-p": "22",
        "-tt": true
    },
    "phpunit.ssh_user": "vagrant",
    "phpunit.ssh_host": "homestead.test",
    "phpunit.ssh_paths": {
        "~/code/project1": "~/project1",
        "/home/code/project2": "/home/vagrant/project2",
    }
}

Docker

示例: 使用Docker运行测试

{
    "phpunit.docker": true,
    "phpunit.docker_command": ["docker", "exec", "-it", "my-container"],
    "phpunit.docker_paths": {
        "~/code/project1": "~/project1",
        "/home/code/project2": "/home/vagrant/project2",
    }
}

Tmux :new

示例: 在Tmux面板中运行测试

{
    "phpunit.strategy": "tmux",
    "phpunit.options": { "colors": true, "no-coverage": true }
}

提示:使用命令面板中的 no-coverage 选项(“PHPUnit: Toggle –no-coverage”)切换代码覆盖率,快速执行测试,当您不需要代码覆盖率报告时。

示例: 在当前会话、编号最低的窗口和最顶层的面板中运行测试

{
    "phpunit.strategy": "tmux",
    "phpunit.tmux_target": ":{start}.{top}"
}

目标接受格式 {target-session}:{target-window}.{target-pane}。默认为 :.,表示当前面板。

有关目标使用的更多详细信息,请参阅Tmux文档

自动命令

您可以将范围配置为在视图保存时运行“Test File”命令。这将指示运行器每次保存都自动运行测试。

示例: 保存时运行Test File

命令面板→首选项:PHPUnit设置

{
    "phpunit.on_post_save": [
        "phpunit_test_file"
    ]
}

切换命令

您可以通过将命令前缀为“PHPUnit: Toggle”从命令面板切换许多PHPUnit CLI选项。

示例

  • PHPUnit: Toggle –display-deprecations: 显示由测试触发的弃用详细信息。
  • PHPUnit: Toggle –fail-on-risky: 当测试被认为高风险时使用shell退出代码来表示失败。
  • PHPUnit: Toggle –no-coverage: 忽略XML配置文件中配置的代码覆盖率报告。
  • PHPUnit: Toggle –stop-on-defect: 在第一次错误、失败、警告或高风险测试后停止执行。
  • PHPUnit: Toggle –testdox: 使用TestDox格式替换默认的结果输出。

自定义切换命令

您可以通过创建自己的切换命令来自定义切换命令。phpunit_toggle_option 命令接受以下参数

参数 类型
option String
value 布尔值(默认)或String

示例: 自定义切换命令

  1. 打开Sublime Text,并转到首选项 -> 浏览包...以打开包文件夹。
  2. 创建一个名为“User/Default.sublime-commands”的文件
  3. 将以下命令添加到配置文件
[
       {
           "caption": "PHPUnit: Toggle --no-coverage",
           "command": "phpunit_toggle_option",
           "args": {
               "option": "no-coverage"
           }
       },
       {
           "caption": "PHPUnit: Toggle --order-by=depends,defects",
           "command": "phpunit_toggle_option",
           "args": {
               "option": "order-by=",
               "value": "depends,defects"
           }
       }
   ]

示例: 自定义快捷键来切换代码覆盖率生成

  1. 打开命令面板: Command Palette → Preferences: Key Bindings
  2. 将以下快捷键添加到配置文件
[
       {
           "keys": ["ctrl+n"],
           "command": "phpunit_toggle_option",
           "args": {
               "option": "no-coverage"
           }
       },
   ]

NeoVintageous映射

NeoVintageous 是Sublime Text的 Vim 模拟器。

  1. 打开命令面板: Command Palette → NeoVintageous: Open neovintageous file
  2. 添加您喜欢的映射。

示例

nnoremap <leader>t :TestNearest<CR>
   nnoremap <leader>T :TestFile<CR>
   nnoremap <leader>a :TestSuite<CR>
   nnoremap <leader>l :TestLast<CR>
   nnoremap <leader>g :TestVisit<CR>
  1. 要应用更改,请从命令面板重新加载neovintageousrc: Command Palette → NeoVintageous: Reload neovintageous file

贡献

有关如何提交 章节,请参阅CONTRIBUTING.md

变更日志

有关更改记录,请参阅CHANGELOG.md

致谢

最初基于,并且受到maltize/sublime-text-2-ruby-testsstuartherbert/sublime-phpunitjanko-m/vim-test 以及许多其他人的出色工作的启发。

许可证

GPL-3.0-or-later License 下发布。