Ich verwende phpunit in Verbindung mit Jenkins und möchte bestimmte Tests überspringen, indem ich die Konfiguration in der XML-Datei einstelle phpunit.xml
Ich weiß, dass ich in der Befehlszeile verwenden kann:
phpunit --filter testStuffThatBrokeAndIOnlyWantToRunThatOneSingleTest
Wie übersetze ich das in die XML-Datei, da das <filters>
Tag nur zur Codeabdeckung dient?
Ich möchte alle Tests außer ausführen testStuffThatAlwaysBreaks
<exclude>
- würde die Arbeit für SieAntworten:
Der schnellste und einfachste Weg, um Tests zu überspringen, die entweder fehlerhaft sind oder an denen Sie später weiterarbeiten müssen, besteht darin, oben in Ihrem individuellen Komponententest Folgendes hinzuzufügen:
quelle
static::markTestSkipped('');
stattdessen verwenden$this->
. In neueren PHP-Versionen wird eine Warnung generiert. Unterschrift:public static function markTestSkipped($message = '')
Wenn Sie damit umgehen können, die gesamte Datei zu ignorieren, dann
quelle
<exclude>
und 893 Tests mit dem<exclude>
....... 63 / 893 ( 7%)
@group
Annotation und Split-Tests von Natur aus zu verwendenManchmal ist es nützlich, alle Tests aus einer bestimmten Datei zu überspringen, basierend auf benutzerdefinierten Bedingungen, die als PHP-Code definiert sind. Sie können dies einfach mit der setUp-Funktion tun, in der makeTestSkipped auch funktioniert.
your_custom_condition kann über eine statische Klassenmethode / -eigenschaft, eine in der phpunit-Bootstrap-Datei definierte Konstante oder sogar eine globale Variable übergeben werden.
quelle
Config
Klasse? Wo platziere ich es?