PHPUnit Kit
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
欢迎使用 PHPUnit Kit
通过无缝集成PHPUnit,提升您的编码体验 Sublime Text。
特性
- 运行测试方法
- 运行测试文件
- 运行测试套件
- 运行最近的测试
- 运行最后的测试
- 使用多光标运行多个测试方法
- 通过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安装
- 打开Sublime Text。
- 按
Ctrl+Shift+P
(Windows/Linux)或Cmd+Shift+P
(macOS)打开命令面板。 - 输入“Package Control: Install Package”,然后按
Enter
。 - 在输入字段中输入“PHPUnitKit”,然后从可用包列表中选择它。
方法2:手动安装
- 访问PHPUnitKit GitHub仓库。
- 点击“代码”按钮,然后选择“下载ZIP”。
- 解压下载的ZIP文件。
- 打开Sublime Text,并转到
首选项 -> 浏览包...
以打开包文件夹。 - 从解压的ZIP中复制“PHPUnitKit”文件夹,并将其粘贴到包文件夹中。
方法3:手动Git仓库安装
- 打开终端或命令提示符。
- 导航到Sublime Text包目录
- 在Windows中:
%APPDATA%\Sublime Text\Packages
- 在macOS中:
~/Library/Application Support/Sublime Text/Packages
- 在Linux中:
~/.config/sublime-text/Packages
- 在Windows中:
- 使用Git将插件仓库直接克隆到包目录
git clone https://github.com/gerardroche/sublime-phpunit.git PHPUnitKit
设置
(可选:无需配置。)
要添加首选的键绑定,请按照以下步骤操作
- 打开Sublime Text菜单:
命令面板 → 首选项: 键绑定
。 - 将以下键绑定添加到配置文件中
[
{ "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策略
- 打开命令面板:
首选项: PHPUnit 设置
- 将以下内容添加到您的设置中
"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,请按照以下步骤操作
- 打开命令面板:
首选项: 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 |
示例: 自定义切换命令
- 打开Sublime Text,并转到
首选项 -> 浏览包...
以打开包文件夹。 - 创建一个名为“User/Default.sublime-commands”的文件
- 将以下命令添加到配置文件
[
{
"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"
}
}
]
示例: 自定义快捷键来切换代码覆盖率生成
- 打开命令面板:
Command Palette → Preferences: Key Bindings
。 - 将以下快捷键添加到配置文件
[
{
"keys": ["ctrl+n"],
"command": "phpunit_toggle_option",
"args": {
"option": "no-coverage"
}
},
]
NeoVintageous映射
NeoVintageous 是Sublime Text的 Vim 模拟器。
- 打开命令面板:
Command Palette → NeoVintageous: Open neovintageous file
。 - 添加您喜欢的映射。
示例
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>
- 要应用更改,请从命令面板重新加载neovintageousrc:
Command Palette → NeoVintageous: Reload neovintageous file
。
贡献
有关如何提交 章节,请参阅CONTRIBUTING.md。
变更日志
有关更改记录,请参阅CHANGELOG.md。
致谢
最初基于,并且受到maltize/sublime-text-2-ruby-tests、stuartherbert/sublime-phpunit、janko-m/vim-test 以及许多其他人的出色工作的启发。
许可证
在GPL-3.0-or-later License 下发布。