PHPUnit 袖珍指南之自动测试
最好的程序员也会犯错误。好程序员和差程序员的区别在于:好程序员能通过测试尽可能
的发现错误。越快测试错误,就越快发现它们,发现和修正的成本就越低。这解释了为什
么只在软件发布前才测试的做法为什么问题那么多。大多数错误根本就没有发现过,修正
发现的错误是那么的高,以至于你不得不根据优先级来决 定只修正那些错误,因为你根本
就承受不起全部修正的费用。
相比你正在使用的方法,采用 PHPUnit 进行测试并不是一个全然不同的东西。它们只是方
法不同。两者之间的不同在于,检查程序行为是否符合正确是通过一批可以自动测试的代
码片断来进行的。这些代码片断叫做单元测试。 在这一部分,我们先基于打印的测试代码
进行自动测试。假设我们要测试 PHP 的内建数组 Array。需要测试之一是函数 sizeof(),
对任何新创建的数 组,sizeof()函数应该返回 0。当我们加入一个新数组成员,sizeof()
应该返回 1。例 1 显示了我们想测试什么。
例 1. 测试数组和 sizeof()
<?php
$xture = Array( );
// $xture 应该为空。
$xture[] = "element";
// $xture 应该包含一个数组成员。
?>
最简单的测试方法是在加入数组成员前后打印 sizeof()的运算结果,如果返回 0 和
1,说明 Array 和 sizeof()运行正常。
例 2. 采用打印语句测试 Array 和 sizeof()
<?php
$xture = Array( );
print sizeof($xture) . "";
$xture[] = "element";
print sizeof($xture) . "";
?>
0
1
现在,我们让测试程序从需要手工解释变为自动运行。在例 3 中,我们比较了期望值
和实际值,如果相等就打印 ok。如果我们发现有的结果不是 ok,我们就知道有问题了。
评论0
最新资源