![我可以在 vim 中打开的 PHP 文件上运行“phpunit”吗?](https://linux22.com/image/1245691/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%20vim%20%E4%B8%AD%E6%89%93%E5%BC%80%E7%9A%84%20PHP%20%E6%96%87%E4%BB%B6%E4%B8%8A%E8%BF%90%E8%A1%8C%E2%80%9Cphpunit%E2%80%9D%E5%90%97%EF%BC%9F.png)
有没有一种简单的方法可以在 vim 中打开 php 测试文件并运行 phpunit?
答案1
我不太了解 PHPUnit 的调用语法,但可能类似的内容:!phpunit %
可能会有帮助。
答案2
我个人喜欢设置一个键映射来运行不同的工具。我的 PHPUnit 映射如下所示(添加到 ~/.vim/ftplugin/php.vim,可从以下位置访问https://github.com/archwisp/linux-home/blob/master/.vim/ftplugin/php.vim):
nnoremap ,u :!./bin/runtests %<CR>
因此,在编辑单元测试文件时,我只需按“,u”,特定于项目的运行测试脚本就会以当前文件名作为参数执行。我为每个项目创建一个运行测试脚本,因为每个项目的设置都不同,这允许我对每个项目使用相同的键映射。另一个额外的好处是,这个脚本可以从命令行或通过持续集成包运行。
这里可以看到一个示例运行测试脚本:https://github.com/archwisp/MindFrame2/blob/master/bin/runtests
答案3
我也不知道 PHPUnit,但是,我会设置&makeprg
为 phpunit,然后调用 make %
:
:set makeprg=phpunit
:make %
然后使用:copen
、:cc
、:cn
、 (:h quickfix)在失败的断言之间导航——假设 phpunit 失败的断言与通常的错误格式兼容:“文件:行:错误消息”,否则需要进行:cp
一些调整。&efm