PhpStorm和PHPUnit

4

我创建了一个PHPUnit测试文件,当我尝试通过PhpStorm运行它时,会出现以下消息:

Unable to attach test reporter to test framework or test framework quit unexpectedly 

看起来执行了以下命令:

 /usr/local/bin/php /private/var/folders/4b/qrnw7nbd6llgmhrss5rf1_880000gt/T/ide-phpunit.php  --configuration /Users/Shared/sites/pac/app/app/phpunit.xml.dist BackendControllerTest /Users/Shared/sites/pac/app/modules/Pac/Backend/Tests/Controller/BackendControllerTest.php
Testing started at 23:22 ...

Process finished with exit code 0

当我通过命令行执行时,输出的内容更多。
PHPUnit 3.6.11 by Sebastian Bergmann.

...etc...

 FAILURES!
Tests: 2, Assertions: 2, Failures: 1.

似乎在phpstorm中没有执行phpunit? 它应该会显示某种错误消息,而不是以退出代码0完成吧? 在phpstorms配置中,php和phpunit的路径(相同)应该没问题(都通过homebrew安装在/usr/local/bin中,并将路径添加到phpstorm)。
OSX 10.7.4 PHP 5.3.14 PHPUnit 3.6.11
感谢您的帮助! Matthias

哪个 PhpStorm 版本?尝试更新了吗? - KingCrunch
这是 PHPStorm 4.0.1版本,但我怀疑这不是版本问题,更可能是配置或系统设置的问题,但我不知道如何调试。在PHPStorm中,它只是以零退出。 - kertal
1
请确保您的终端环境与 GUI 应用程序相同,详见 http://apple.stackexchange.com/q/51677。PhpStorm 需要使用与从终端运行时相同的配置文件。还要检查 PhpStorm(或您正在运行它的用户)是否具有执行 php 和访问测试中使用的文件的权限。 - CrazyCoder
感谢@CrazyCoder,不同的终端环境让我找到了问题的解决方法。现在我的phpunit php在两个环境中都可以工作,甚至还能够正常运行。但是我的旧应用程序检查了一些$_SERVER变量,在phpstorm执行时这些变量并不存在,导致测试没有执行而默默退出。CrazyCoder,你想回答我的问题吗?比如说“检查你的终端和GUI应用程序环境,笨蛋!”有些人可能不知道这些环境可能会有所不同。 - kertal
3个回答

4

0

在MacOSX上,我曾经为类似的问题苦苦挣扎。

原因是我的情况下,一个PHP升级脚本搞乱了一些权限。

我所做的:

  • 确保我有权读取和执行pear bin_dir和php_dir
  • 确保php_dir在include_path中

要查找这些目录,您可以发出以下命令

# pear config-show

(查找bin_dir和php_dir)

这意味着我要执行以下命令:

# (sudo) chmod -R 755 <bin_dir>
# (sudo) chmod -R 755 <php_dir>

多写代码,少配置IDE!


0
你有修改过php.ini中的include_path吗?
我的情况和你类似。我在添加了pear的include路径之后,它正常工作了。 看看这个。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接