Ответ 1
Я тестировал его в своем демонстрационном проекте Symfony (Bundles
предполагает, что это то, что вы используете), и у меня такая же проблема. Кажется, это комбинация двух проблем. Во-первых, существует известная ошибка с запуском PHPUnit (PHPUnit 3.7.19) с опцией -c
или --config
:
https://github.com/sebastianbergmann/phpunit/issues/928
При запуске в другом месте и определении файла конфигурации с помощью --config исключение, однако, перестанет работать.
Во-вторых, директива exclude
, кажется, игнорирует/терпит неудачу, когда в пути есть какое-либо подтачивание (*
), поэтому, удалив globbing, это сработало для меня:
<testsuites>
<testsuite name="Project Test Suite">
<directory>../src/*/*Bundle/Tests</directory>
<directory>../src/*/Bundle/*Bundle/Tests</directory>
<exclude>../src/Blah/MyBundle/Tests/Controller/</exclude>
</testsuite>
</testsuites>
Это метод только, который я нашел, чтобы исключить тесты в MyBundle
по мере необходимости. Для exclude
работа в режиме globbing выполняла не. Но тогда это означает, что вам нужно добавить столько директив exclude
, что есть папки, которые вы хотите игнорировать.
Вероятная связанная проблема gihub: https://github.com/sebastianbergmann/phpunit/pull/573
[...] это исправление попадает в релиз 4.0, поскольку оно нарушает обратную совместимость.
- Решение №1: удалите любое перемещение по вашим путям.
- Решение №2: переход на PHPUnit v4. * (не проверенный мной, см. комментарии, не решает проблему путей
exclude
с globbing)