我无法让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
答案 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
。在调试配置部分。