7

我无法让 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

4 回答 4

7

我遇到了同样的问题,并在文档中找到了以下解决方案: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 配置文件并尝试将绝对路径添加到您的应用程序目录。

希望能帮助到你。

于 2013-10-11T15:50:07.053 回答
2

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

于 2014-02-04T17:21:31.820 回答
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)选中“使用替代配置文件:”并将其设置为 /absolute/path/to/vendor/your_app/(sub_app_if_applicable)/phpunit.xml.dist

然后您可以通过指定类和文件来运行套件中的任何测试类,或者只需选中“在配置文件中定义”即可根据配置运行所有测试类。

于 2014-11-27T02:52:27.797 回答
0

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

于 2017-07-20T14:48:35.877 回答