2013-10-29 103 views
2

我想知道是否有方法從對象運行PHPUnit測試。例如PHPUnit:從實例運行測試

<?php 

class FooTest extends PHPUnit_Framework_TestCase{ 

    public function testTrue(){ 
    $this->assertTrue(true); 
    } 

} 
在另一個PHP文件

然後:

<?php 

$test = new FooTest; 

// function to run $test->testTrue(); 

這可能嗎?謝謝。

回答

3

是的,這是可能的。它可以這樣完成:

$test = new FooTest(); 
$results = $test->run(); 

當您創建測試時,您正在擴展PHPUnit_Framework_TestCase。 PHPUnit在每個測試中調用run方法。所以你可以在測試中自己調用它來運行它。此方法返回一個PHPUnit_Framework_TestResult,您可以使用它來查看測試的結果。

結賬的PHPUnit source code有關不同對象的更多信息。

+0

有沒有辦法只運行特定的測試? – jaggy

+1

是的,爲此,我認爲您需要創建一個PHPUnit_Framework_TestSuite並自己添加測試。 https://github.com/sebastianbergmann/phpunit/blob/3.7/PHPUnit/Framework/TestSuite.php – Schleis

+0

謝謝。我想了很多。我想我只會擴展一個自定義類,以便我可以實現我需要完成的事情。 – jaggy