5

これは私のユニットテストクラスです

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

このスクリプトを実行すると、すべてのメソッド、つまり、testAc1、testAc4、testAc7 などが実行されます。単一のメソッドだけを実行する方法はありますか?

ありがとう、シカール

4

1 に答える 1

3

SimpleTest ソースを少し掘り下げた後、次のようにテストの getTests() メソッドをオーバーライドするのが最も簡単な方法であることがわかりました。

require_once('simpletest/autorun.php');

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

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

ここでは、通常どおり autorun.php をインクルードするだけで、getTests() で指定されたテストのみが実行されます。

于 2011-02-22T23:22:06.927 に答える