我已经用PHPUnit设置了PhpStorm 5,我很好奇PhpStorm是否有一些功能可以在保存文件时自动运行单元测试。就像看门人和守卫。我试着搜索我们心爱的www和PhpStorm文档,但还没能找到一个解决方案。
从版本6开始,PHPStorm有了"File Watchers"
- 打开您的项目首选项
- 从左侧的选项列表中选择File Watchers
- 点击右侧空白面板底部的+符号。
- 选择
<custom>
您必须为PHPUnit设置一个命令行,它不会是集成测试,但您可以将错误输出到控制台(这是一个好的开始!)
您可以使用各种宏选项,因此您可以在传递给命令行的参数中包含(例如)$FileNameWithoutExtension$Test.php
。
我个人不得不设置两个观察者。第一个检测到对项目文件的修改,第二个检测到对测试文件的更改(第二个没有将Test.php
附加到文件名),我还创建了一个新的项目范围,以从第一个监视程序中排除测试目录。
你可能还想关闭即时同步,因为这会导致PHPUnit在PHPStorm自动保存文件时运行。
我的其他设置如下:
- 文件类型:
PHP files (PHP)
- 范围:
Project excluding tests
程序:
/path/to/php
参数:/path/to/phpunit --configuration /path/to/phpunit.xml.dist /path/to/tests/$FileNameWithoutExtension$Test.php
工作目录:$FileDir$
输出路径:$FileDir$
未设置输出过滤器,启用语法错误检查,并且控制台显示错误。
PHPUnit watchcher被命名为hot PHPUnit runner
https://github.com/slavahatnuke/hot-phpunit-runner您还可以查看TDDRunner
是在文件更改时自动执行PHPUnit的控制台工具。你也可以通过只执行一个文件来配置PHPUnit。
/usr/bin/tddrunner --group=test
有一篇德文文章提供了更多的细节。
2017年,Jetbrains发布了一个允许自动运行测试的功能。它位于Run
控制台中,因此它链接到运行设置,从而简化了此自动运行的设置。
看到https://blog.jetbrains.com/phpstorm/2017/07/autorun - phpunit) -测试- - phpstorm - 2017 2/