将PHPT测试用例与PHPUnit集成

时间:2011-02-07 14:07:42

标签: php phpunit phpt

如何让PHPUnit运行我的PHPT test cases并将通过/失败状态集成到整体指标中?我已经知道如何使用命令行中的run-phpt运行这些测试,但是我希望在PHPUnit中使用其他测试运行它们。

我知道PHPUnit_Extensions_PhptTestCase存在,但我找不到任何关于如何使用它的示例。

2 个答案:

答案 0 :(得分:5)

虽然这个blog post about testing file uploads的要点是描述如何编写PHPT测试,但它展示了如何在帖子结尾处将它们集成到PHPUnit中。简而言之,您将.phpt文件的绝对路径传递给父构造函数。

<?php
require_once 'PHPUnit/Extensions/PhptTestCase.php';

class UploadExampleTest extends PHPUnit_Extensions_PhptTestCase {
    public function __construct() {
        parent::__construct(__DIR__ . '/upload-example.phpt');
    }
}

或者,您可以使用PHPUnit_Extensions_PhptTestSuite类,它将目录作为其第一个构造函数参数,然后在此目录中搜索所有* .phpt文件。

答案 1 :(得分:4)

在phpunit XML配置中,您可以添加名为 PHPT (或任何其他名称)的测试套件,并指向放置带有后缀的.phpt文件的目录设置为&#34; .phpt&#34;。然后,Phpunit将执行该目录中的所有phpt-test-files:

<testsuites>
    <testsuite name="Main Test Suite">
        <directory>test</directory>
    </testsuite>
    <testsuite name="PHPT Test Suite">
        <directory suffix=".phpt">test/phpt</directory>
    </testsuite>
</testsuites>

在此示例中,目录test/phpt包含.phpt个文件。

有关.phpt测试结构和编写方式的信息,请参见: