我怎样才能让PHP自动完成PHPUnit?

我正在使用Symfony2,所有的东西都安装好了,到目前为止我的testing工作非常好。

我想要自动完成PHPUnit的方法。

Symfony的WebTestCase类从PHPUnit_Framework_TestCase扩展如下:

 abstract class WebTestCase extends \PHPUnit_Framework_TestCase 

虽然父类被突出显示为不存在。

我怎样才能告诉我的IDE使用PHPUnit的库?

我正在使用PHPStorm
PHPUnit可以通过path/Users/myUser/pear/share/pear/PHPUnit/

将其添加为库…在正在编辑的项目中,将其添加到“外部库”中。

应该包括在内。

对我来说(Ubuntu 12.04),它将这个文件夹添加为外部库:

 /usr/share/php/PHPUnit 

对于PHPStorm用户,进入文件 – >设置 – >项目设置 – > PHP,并在那里添加path。

PhpStorm 2016.2引入了一个function – 在这种情况下 – 也是一个错误。

在$ this-> context中,Autocompletion现在不再包含静态方法作为选项。 ( https://blog.jetbrains.com/phpstorm/2016/07/completion-changes-in-phpstorm/#more-10425

由于phpunittesting被定义​​为静态方法,但是通过$ this->调用,所以phpunit的自动完成function现在已经被破坏。

他们已经在下一个EAP( https://youtrack.jetbrains.com/issue/WI-32530 )回滚了phpunit的这个变化。

解决方法直到下一个稳定版本:按Ctrl-Space两次; 这将在自动填充字段中显示静态方法。

您可以将phpunit/phpunit包添加到composer.json文件的require-dev部分。

运行composer install ,PHPStorm将知道PHPUnit类。

我有OSX,phpunit安装的自制软件和phpstorm 9.0

那么它是如何工作的:打开首选项或按cmd +, – >语言和框架 – > PHP – >包含path – >添加“/usr/local/Cellar/phpunit/4.7.6/libexec/”

我有PHPStorm 2017.1.4和我的操作系统是Ubuntu 16.04。 我已经在我的/ usr / local / bin中安装了phpunit.phar。

我将使用〜/ WORK / ..作为示例path,但是应该使用完整path/ home / myname / WORK / ..

我所做的只是去我家里的一个文件夹(如:〜/ WORK /),然后运行:

 composer require phpunit/phpunit 

composer php完成下载phpunit后,我添加了一个新的项目包括path:

 ~/WORK/vendor/phpunit/phpunit/src 

现在我拥有所有的PHPUnit自动完成function,我可以直接跳转到PHPUnit的源代码,并且可以使用Composer更新PHPUnit的代码。 我还从/ usr / local / bin中删除了phpunit.phar,并将其replace为〜/ WORK / vendor / bin / phpunit