2011-01-11 2 views
4

J'écris des tests unitaires avec PHPUnit. J'ai maintenant environ 100 méthodes écrit.Quelles sont les conséquences de ne pas nommer les méthodes de test PHPUnit avec chameau?

Puisque ce sont pour une application cadre Kohana , j'ai utilisé la convention de nommage pour les méthodes d'essai ainsi, par exemple:

function test_instance() 
{ 
    ... 
} 

function test_config() 
{ 
    ... 
} 

Tous mes tests fonctionnent très bien dans Eclipse et de la ligne de commande.

Cependant, je dois maintenant utiliser une fonction configuration et réalisé qu'il ne fonctionne que lorsque le nom:

function setUp() 
{ 
    ... 
} 

et non:

function set_up() 
{ 
    ... 
} 

Maintenant, je me demande si je vais avoir des inconvénients sur la route si je ne renomme pas toutes mes méthodes PHPUnit afin qu'ils soient chameau, par exemple est-ce que d'autres outils qui utilisent PHPUnit excitent les noms de méthodes pour être en notation camelcase?

Répondre

1

setUp et teardown sont des noms exacts qui doivent être appariés pour être reconnus. Les tests, d'autre part, doivent juste commencer par test. (Tous ces éléments sont sensibles à la casse.)

À part cela, aucune exigence sur la capitalisation/disposition du reste de la dénomination. (Eh bien, les classes ne peuvent pas commencer par Test, mais c'est à ce sujet.)

12

Les noms de méthode en PHP ne sont pas sensibles à la casse, donc il n'a pas d'importance si vous utilisez setup ou setUp et tearDown ou teardown. Cependant, vous ne pouvez pas utiliser set_up ou tear_down, parce que c'est un nom différent. PHPUnit appelle et tearDown entre chaque test pour garantir l'environnement. Par convention, PHPUnit considère qu'une méthode commençant par test est un test. Par convention, PHPUnit considère toute méthode commençant par test. Vous pouvez omettre le préfixe en utilisant l'annotation @test dans la méthode DocBlock. PHPUnit va transformer les noms de méthode CamelCased en descriptions espacées lors de l'impression de tous les rapports, donc testMethodDoesThis apparaîtra comme "Méthode fait ceci".

CamelCase affectera également les tests annotés avec l'annotation @testDox.

Questions connexes