2009-12-26 3 views
4

Je ne veux pas faire tous les tests parfois pour gagner du temps. Je sais que je peux commenter les tests. Mais cette méthode n'est pas élégante. Je me demande s'il existe un moyen simple de le faire.Ne pas exécuter certains tests dans PHPUnit?

Tous les conseils sont appréciés.

Merci pour votre temps et meilleures salutations, Box He

+0

Si cela est résolu, vous devez cocher l'une des réponses. – Zaz

+0

Merci Josh de me le rappeler. – Box

Répondre

10

@group

Un test peut être étiquetée comme appartenant à un ou plusieurs groupes en utilisant l'annotation @group comme celui-ci

class MyTest extends PHPUnit_Framework_TestCase 
{ 
    /** 
    * @group specification 
    */ 
    public function testSomething() 
    { 
    } 

    /** 
    * @group regresssion 
    * @group bug2204 
    */ 
    public function testSomethingElse() 
    { 
    } 
} 

Les tests peuvent être sélectionnés pour être exécutés sur la base de groupes en utilisant les commutateurs --group et --exclude-group du programme de test de ligne de commande ou en utilisant les directives respectives du fichier de configuration XML.

+0

Merci beaucoup pour votre réponse. :) – Box

+0

De rien. – Diadistis

8

phpunitcommand line test runner a --filter argument qui est une expression régulière pour correspondre aux noms de cas de test exécutés. Supposons que vous deviez exclure tous les cas de test dont les noms contiennent "Foo". Ensuite, utilisez:

--filter /^(?:(?!Foo).)*$/ 
+0

Merci beaucoup pour cette méthode alternative. :) – Box

+0

Vous êtes les bienvenus! –

+0

Vous n'avez pas vraiment besoin de le définir comme une regex, une vieille chaîne simple fonctionnera aussi. – garrow

Questions connexes