Symfony PHPUnit TestListener在PhpStorm中不工作

Symfony PHPUnit TestListener在PhpStorm中不工作,symfony,phpunit,phpstorm,Symfony,Phpunit,Phpstorm,我使用的是Symfony 2、PHPUnit 3.7.10和PhpStorm 5.0.4 我在名称空间Acme\DemoBundle\Tests中有一个类MyTestListener(实现PHPUnit\u Framework\u TestListener) 当我使用vendor/bin/phpunit.bat-c app/从CLI调用phpunit时 监听器工作正常,测试成功 我发现了这一点:但这似乎是另一个问题 但是当我在PhpStorm中启动测试时,监听器没有加载,一些对象应该被注入到一个

我使用的是Symfony 2、PHPUnit 3.7.10和PhpStorm 5.0.4

我在
名称空间Acme\DemoBundle\Tests
中有一个类MyTestListener(实现PHPUnit\u Framework\u TestListener

当我使用
vendor/bin/phpunit.bat-c app/
从CLI调用phpunit时 监听器工作正常,测试成功

我发现了这一点:但这似乎是另一个问题

但是当我在PhpStorm中启动测试时,监听器没有加载,一些对象应该被注入到一个抽象测试类中,在本例中为null。我还注意到,当我在MyTestListener类中使用断点进行调试时,调试器不会在此类中停止,其他断点也可以正常工作

phpunit.xml条目:

    <listeners>
       <listener class="Acme\DemoBundle\Tests\MyTestListener" file="../src/Acme/DemoBundle/Tests/MyTestListener.php">
       </listener>
    </listeners>

我还尝试添加一个空元素,但没有帮助

在PhpStorm的Run/Debug配置中,我指定了phpunit.xml引导文件。 我还为命令行/解释器添加了这个选项:
-d auto\u prepend\u file=vendor/autoload.php


phpunit.xml中的侦听器配置似乎已被解析,但不起作用。当我将类名更改为无效的文件/类时,我得到一个错误,即文件无法打开流。我还尝试使用绝对文件路径或将斜杠改为反斜杠,但没有任何效果。

真遗憾。。。我发现了自己的错误

我从CLI执行所有测试,但在PhpStorm中只有一个测试类,因此套件名称不同,在我的侦听器类中,我只在套件名称匹配时执行这些操作:

if ($suite->getName() == "db-tests") {...}
因此,解决方案是将表达式扩展到

$name = $suite->getName();
if ($name == "db-tests" || 
   strpos($name, 'Acme\DemoBundle\Tests\Database') !== false) {...}