如何将PHPUnit集成到自定义框架中

时间:2009-05-10 09:56:56

标签: php frameworks phpunit

我想将PHPUnit集成到我的框架中。 通过这个,我的意思是我必须在开始时做一些初始化,比如在我运行测试之前设置自动加载。

我想使用cli测试运行器,如果我理解正确,我必须创建一个类,它有一个静态函数suite(),它返回一个PHPUnit_Framework_TestSuite实例,并为这个套件添加测试,正如http://www.phpunit.de/manual/current/en/textui.html所述。

到目前为止,我已提出:

class MyTestFW {
    public static function suite() {
        // Do framework initialization here

        $suite = new PHPUnit_Framework_TestSuite();
        $suite->addTest(new SimpleTest());

        // Add more tests

        return $suite;
    }
}

SimpleTest是一个非常基本的测试类,它扩展了PHPUnit_Framework_TestCase。 当我运行“phpunit MyTestFW”时,我总是得到:

PHPUnit 3.3.16 by Sebastian Bergmann.

E

Time: 0 seconds

There was 1 error:

1) (SimpleTest)
RuntimeException: PHPUnit_Framework_TestCase::$name must not be NULL.

有人可以帮我一点吗?

1 个答案:

答案 0 :(得分:2)

PHPUnit_Framework_TestCase::$name在TestCase构造函数中设置,因此您可以尝试:

$suite->addTest(new SimpleTest('simpletest'));

<强> EDIT1:

我不知道你的代码,所以我不知道这是否有帮助。
我通常看到的是(作为上述内容的替代,而不是添加):

$suite->addTestSuite('SimpleTest');

<强> EDIT2:

phpunit documentation: Chapter 7 - Organizing Tests