PhpUnit在Symfony 2项目中的退出代码255的PhpStorm失败

时间:2013-04-25 18:51:57

标签: php symfony phpunit phpstorm

我无法让phpunit在PhpStorm中的Symfony项目中工作 - phpunit -c app在OSX终端中正常工作。

这是错误:

Unable to attach test reporter to test framework of test framework quit unexpectedly
/Applications/MAMP/bin/php/php5.4.4/bin/php/private/var/folders/4l/hw8g4qlj6nnc37lfkc6hcj7w0000gn/T/ide-phpunit.php --bootstrap
/Users/greg/Repos/MyApp/app/bootstrap.php.cache --configuration    
/Users/greg/Repos/MyApp/app/phpunit.xml.dist
MyApp\MyBundle\Tests\Controller\MyControllerTest 
/Users/greg/Repos/MyApp/src/HvH/MyBundle/Tests/Controller/MyControllerTest.php

Testing started at 11:45 AM ...

Process finished with exit code 255

编辑:以下是PHP日志中的错误:

Fatal error: Uncaught exception 'InvalidArgumentException' with message 'The "app/" directory does not exist.' in /Users/greg/Repos/MyApp/vendor/symfony/symfony/src/Symfony/Component/Finder/Finder.php:650

4 个答案:

答案 0 :(得分:6)

我遇到了同样的问题,在文档中找到了以下解决方案: http://symfony.com/doc/current/book/testing.html#your-first-functional-test

  

要运行功能测试,WebTestCase类会启动   你的应用程序的内核。在大多数情况下,这会自动发生。   但是,如果您的内核位于非标准目录中,则需要执行此操作   修改phpunit.xml.dist文件以设置KERNEL_DIR环境   变量到你的内核目录:

<phpunit>
    <!-- ... -->
    <php>
        <server name="KERNEL_DIR" value="/path/to/your/app/" />
    </php>
    <!-- ... -->
</phpunit>

请检查您的phpunit.xml.dist配置文件,并尝试将绝对路径添加到您的app-directory。

希望它有所帮助。

答案 1 :(得分:2)

PhpStorm并不总是从项目根目录实例化测试运行器,要修复此问题,请在运行/调试配置中的“自定义工作目录”下添加项目根目录的绝对路径。 这将节省您必须在phpunit.xml.dist配置中添加应用程序的绝对路径,它还将确保可以找到任何相对路径文件包括(例如JSON测试数据)。

答案 2 :(得分:2)

使其工作的步骤(在PHPStorm 8.0.1中测试):

1)在 Preferences > PHP > PHPUnit 中,确保没有为默认配置文件或默认引导程序文件设置任何内容。

2)通过 Run > Edit Configurations > 小节中的 Command Line 进行自定义PHPUnit配置,并确保:

a)设置 Custom working directory: /absolute/path/to/vendor

b)检查&#34;使用备用配置文件:&#34;并将其设置为 /absolute/path/to/vendor/your_app/(sub_app_if_applicable)/phpunit.xml.dist

然后,您可以通过指定类和文件来运行套件中的任何测试类,或者只需检查&#34;在配置文件中定义&#34;根据配置运行所有这些。

答案 3 :(得分:0)

我遇到了同样的问题。如果您使用的是yii2 / phpStorm,请尝试在&#39;替代配置文件&#39;下选择codeception.yml而不是unit.yml。在调试配置部分。