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 回答