2010-08-12 4 views
5

Questa è la mia unità classe TestCome eseguire un singolo metodo di test nella classe di unittest più semplice?

<? 
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()); 
?> 

Quando ho eseguito questo script tutti i metodi vale a dire., TestAc1, testAc4, testAc7 ecc vengono eseguiti. Esiste un modo per eseguire un solo metodo?

Grazie, Shikhar

risposta

3

Dopo aver scavato attraverso la sorgente SimpleTest un po ', ho trovato il modo più semplice è quello di ignorare getTests del test() metodo come segue,

require_once('simpletest/autorun.php'); 

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

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

Qui, semplicemente compreso autorun.php come al solito, verranno eseguiti solo i test chiamati in getTests().

+0

Ottima idea @Tristan Havelick grazie –