Chinaunix首页 | 论坛 | 博客
  • 博客访问: 683867
  • 博文数量: 132
  • 博客积分: 10060
  • 博客等级: 上将
  • 技术积分: 1732
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-21 12:35
个人简介

迷惘的码农。

文章分类

全部博文(132)

文章存档

2013年(1)

2011年(2)

2010年(9)

2009年(41)

2008年(79)

我的朋友

分类:

2008-04-08 11:42:37

附录 B. 用于PHP 4的PHPUnit

存在一些用于PHP 4而不需要PHP 5的PHPUnit发行版。由于PHP 4的受限对象模型,用于它的PHPUnit不像用于PHP 5的PHPUnit那样是JUnit的完全对等(实现)。它也缺少用于PHP 5的PHPUnit的某些特性,例如代码覆盖率分析。

下面的命令行显示如何利用PEAR安装程序安装用于PHP 4的PHPUnit:

pear install -f phpunit/PHPUnit-1.3.3

用于PHP 4的PHPUnit的测试用例类类似于用于PHP 5的PHPUnit的测试用例类。本质区别在于该类扩展PHPUnit_TestCase(它自己扩展提供断言方法的PHPUnit_Assert)。

显示用于PHP 4的PHPUnit下的ArrayTest测试用例的一个版本。

范例 B.1: 编写一个用于PHPUnit 1.x的测试用例


require_once 'PHPUnit/TestCase.php';
 
class ArrayTest extends PHPUnit_TestCase
{
    var $_fixture;
 
    function setUp()
    {
        $this->_fixture = array();
    }
 
    function testNewArrayIsEmpty()
    {
        $this->assertEquals(0, sizeof($this->_fixture));
    }
 
    function testArrayContainsAnElement()
    {
        $this->_fixture[] = 'Element';
        $this->assertEquals(1, sizeof($this->_fixture));
    }
}
?>

用于PHP 4的PHPUnit不提供TextUI测试启动器,最一般的运行测试方法是编写测试套件并手工运行它,如中所示。

范例 B.2: 用PHPUnit 1.x运行一个测试用例


require_once 'ArrayTest.php';
require_once 'PHPUnit.php';
 
$suite  = new PHPUnit_TestSuite('ArrayTest');
$result = PHPUnit::run($suite);
 
print $result->toString();
?>
TestCase arraytest->testnewarrayisempty() passed
TestCase arraytest->testarraycontainsanelement() passed

显示一个用于PHP 4的PHPUnit具有而用于PHP 5的PHPUnit没有的特性:基于PHP-GTK的带图形用户界面的测试启动器。

图 B.1. PHP-GTK测试启动器



阅读(1461) | 评论(0) | 转发(0) |
0

上一篇:附录 A XML配置文件

下一篇:附录 C. 索引

给主人留下些什么吧!~~