在PhpStorm中运行PHPUnit测试会添加"--teamcity"选项,从而导致错误

Mic*_*ler 15 teamcity phpunit phpstorm

我有最新的PhpStorm(2016.2)和PHPUnit phar(5.5.4).出于某种原因,当我在PhpStorm的项目中运行PHPUnit测试时,它会添加--teamcity到run命令,导致失败:

Testing started at 12:52 PM ...
Unit test suite invoked with a path to a non-unit test: --teamcity
Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

我不知道这个--teamcity选项来自哪里,无论我运行什么测试,甚至从空白配置开始,它都会发生.我也没有安装TeamCity插件,我甚至没有使用TeamCity.

以下是完整命令显示的内容:

/usr/local/Cellar/php70/7.0.9/bin/php /Users/name/bin/phpunit-5.5.4.phar --configuration /path/to/config/my-phpunit.xml ClassNameTest /Users/name/PhpstormProjects/path/to/tests/unit/app/ClassNameTest.php --teamcity
Run Code Online (Sandbox Code Playgroud)

(敏感信息被换掉)

我想要做的就是摆脱这个--teamcity选项,如果我在没有该选项的单独终端窗口中运行,一切都会正常工作.这最近才开始发生,也许是在PhpStorm更新之后.

Att*_*lop 20

TL;博士

我只能通过从我的系统(Linux)中删除系统安装的phpunit实例来解决这个问题:

sudo apt remove phpunit-*
Run Code Online (Sandbox Code Playgroud)

细节

即使PhpStorm中的设置是使用composer autoloader: phpunit库应该使用composer

由于某种原因,它最终使用TeamCity /usr/share/php/PHPUnit/Util/Log/TeamCity.php: 在此输入图像描述

Project的本地PHPUnit是6.2,而系统默认是5.1 - >它们是不兼容的.


小智 19

我花了半天时间为此奋斗.底层问题是在PHPUnit版本之间切换(6.x.x- > 4.x.x).(通过切换分支发生在我身上)

单击PHPUnit首选项中的刷新按钮可以修复它.

(Languages & Frameworks > PHP > PHPUnit)

确保它认为您拥有的PHPUnit版本与它报告的版本匹配.

截图


Mic*_*ler 0

问题出在项目内部。PHPUnit 不包含该错误消息。对不起!