J'utilise phpunit en connexion avec jenkins, et je veux ignorer certains tests en définissant la configuration dans le fichier XML phpunit.xml
Je sais que je peux utiliser sur la ligne de commande:
phpunit --filter testStuffThatBrokeAndIOnlyWantToRunThatOneSingleTest
comment traduire cela dans le fichier XML depuis le <filters>
la balise est uniquement destinée à la couverture du code?
Je voudrais exécuter tous les tests sauf testStuffThatAlwaysBreaks
Le moyen le plus rapide et le plus simple d'ignorer les tests qui sont cassés ou que vous devez continuer à travailler plus tard consiste simplement à ajouter ce qui suit en haut de votre test unitaire individuel:
$this->markTestSkipped('must be revisited.');
Si vous pouvez gérer l'ignorance de l'ensemble du fichier,
<?xml version="1.0" encoding="UTF-8"?>
<phpunit>
<testsuites>
<testsuite name="foo">
<directory>./tests/</directory>
<exclude>./tests/path/to/excluded/test.php</exclude>
^-------------
</testsuite>
</testsuites>
</phpunit>
Parfois, il est utile d'ignorer tous les tests d'un fichier particulier en fonction de conditions personnalisées définies comme du code php. Vous pouvez facilement le faire en utilisant la fonction setUp dans laquelle makeTestSkipped fonctionne également.
protected function setUp()
{
if (your_custom_condition) {
$this->markTestSkipped('all tests in this file are invactive for this server configuration!');
}
}
your_custom_condition peut être passé via une méthode/propriété de classe statique, une constante définie dans phpunit bootstrap file ou même une variable globale.