2011-02-07 90 views
13

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

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

+0

@DavidHarkness感谢清理。现在读取方式更好。非常感谢 – edorian 2012-09-06 17:39:43

回答

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

这意味着每一个测试用例都需要一个独立的硬编码类文件**和** testcase文件?哇,这是没用的... – ircmaxell 2011-02-07 18:40:20

3

在您的PHPUnit的XML配置,你可以添加一个测试套件名为亢进症(或任何其他名称),并指向您放置与后缀设置为“.phpt”的.phpt文件的目录。然后将的PHPUnit从该目录执行所有功能亢进症,测试文件:

<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测试如何组织和书面的信息可在深度: