2010-08-12 14 views
5

Ceci est mon test unitaire classeComment exécuter une seule méthode de test dans la classe unittest la plus simple?

<? 
require_once '../simpletest/unit_tester.php'; 
require_once '../simpletest/reporter.php'; 
class Academic extends UnitTestCase 
{ 
    function setUp() 
    { 
    } 
    function tearDown() 
    {       
    } 
    function testAc1() 
    {   
    } 
    function testAc4() 
    {   
    }  
    function testAc7() 
    {   
    } 

} 

$test = new Academic(); 
$test->run(new HtmlReporter()); 
?> 

Quand je lance ce script toutes les méthodes à savoir., TestAc1, testAc4, testAc7 etc sont exécutés. Existe-t-il un moyen d'exécuter une seule méthode?

Merci, Shikhar

Répondre

3

Après avoir creusé à travers la source SimpleTest un peu, j'ai trouvé le plus simple est de passer outre la méthode de getTests() de l'essai comme suit,

require_once('simpletest/autorun.php'); 

class Academic extends UnitTestCase 
{ 
    # .. 
    function testAc7() 
    {   
    } 

    function getTests() 
    { 
    return array("testAc7"); 
    } 
} 

Ici, y compris simplement autorun.php comme d'habitude, seuls les tests nommés dans getTests() seront lancés.

+0

Bonne idée @ Tristan Havelick merci –