附录 B. 用于PHP 4的PHPUnit
时间:2008-04-08 来源:hshq_cn
附录 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)。
[url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#appendixes.phpunit1.examples.ArrayTest.php]范例 B.1[/url]
显示用于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测试启动器,最一般的运行测试方法是编写测试套件并手工运行它,如
[url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#appendixes.phpunit1.examples.suite.php]范例 B.2[/url]
中所示。
范例 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
[url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#appendixes.phpunit1.figures.PHPUnit-Gtk.png]图 B.1[/url]
显示一个用于PHP 4的PHPUnit具有而用于PHP 5的PHPUnit没有的特性:基于PHP-GTK的带图形用户界面的测试启动器。
图 B.1. PHP-GTK测试启动器
存在一些用于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)。
[url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#appendixes.phpunit1.examples.ArrayTest.php]范例 B.1[/url]
显示用于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测试启动器,最一般的运行测试方法是编写测试套件并手工运行它,如
[url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#appendixes.phpunit1.examples.suite.php]范例 B.2[/url]
中所示。
范例 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
[url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#appendixes.phpunit1.figures.PHPUnit-Gtk.png]图 B.1[/url]
显示一个用于PHP 4的PHPUnit具有而用于PHP 5的PHPUnit没有的特性:基于PHP-GTK的带图形用户界面的测试启动器。
图 B.1. PHP-GTK测试启动器
相关阅读 更多 +
排行榜 更多 +