PHPUnit-TestSuite Ausschließen
also ich würde gerne ausschließen, ein Verzeichnis von meinem Testsuite nur so:
<testsuite name="PHPUnitWillKillMe">
<directory>src/*/Bundle/*/*Bundle/Tests</directory>
<exclude>src/*/Bundle/*/*Bundle/Tests/Controller/</exclude>
</testsuite>
Alles, außer der Controller getestet werden sollte.
Die Sache ist, es funktioniert nicht. PHPUnit läuft immer noch, alle tests in src//Bundle//*Bundle/Tests/Controller/wenn ich
phpunit --testsuite PHPUnitWillKillMe
Irgendeine Idee?
Beste Grüße!
PHPUnit-Version, die ich getestet, die waren 3.7.21 und 3.7.28.
- Wie ist das bisherige "Lösung" stackoverflow.com/questions/2736343/... ?
- Ich glaube nicht, siehe phpunit.de/manual/3.7/en/appendixes.configuration.html -> Test-Suiten
Du musst angemeldet sein, um einen Kommentar abzugeben.
Getestet habe ich es auf meinem Symfony-demo-Projekt (die
Bundles
deutet darauf hin, dass dies ist, was Sie verwenden) und ich habe das gleiche Problem. Es scheint eine Kombination von zwei Problemen. Erstens, es gibt einen bekannten Fehler mit dem ausführen von PHPUnit (PHPUnit 3.7.19) mit der-c
oder--config
option:https://github.com/sebastianbergmann/phpunit/issues/928
Zweite, die
exclude
- Richtlinie scheint zu ignorieren /nicht bestanden, wenn es irgendeinen Platzhalter (*
) in den Pfad, so dass durch entfernen der Platzhalter, es funktionierte für mich:Es ist die nur Möglichkeit, die ich gefunden, um auszuschließen, werden die Tests in
MyBundle
als erforderlich. Die Platzhalter haben nicht Arbeit für dieexclude
. Aber dann, es bedeutet, dass Sie hinzufügen, wie vieleexclude
Richtlinien, da gibt es Ordner, die Sie wollen, zu ignorieren.Wahrscheinlich im Zusammenhang gihub Problem:
https://github.com/sebastianbergmann/phpunit/pull/573
exclude
Pfade mit Platzhaltern)exclude
Richtlinie... Es ist nicht eine sehr effiziente Lösung, wenn Sie nicht aktualisieren Sie auf version 4.0.* aber ich sehe keine bessere Lösung für jetzt.Hatte gerade ähnliches Problem, phpunit, hat ziemlich nette Unterstützung für Gruppen:
Was Sie tun, ist
Und führen Sie den test wie