PHP之simpletest单元测试
程序开发中测试是必不可少的,对于小型项目,随处可见的是echo式的测试方式,随着项目的逐渐变大,单步测试的方式越来越不可取,也许单元测试可以是好的替代方式。我所了解的PHP下的测试程序有PEAR项目中的PHPUnit,以及simpletest。这里只是介绍一下simpletest。
首先需要下载simpletest,然后放到可以访问到的目录中就可以了。simpletest对通过测试的程序显示一个绿色的元素,而无法通过测试则显示红色的。
<?php
require_once 'simpletest/unit_tester.php';
require_once 'simpletest/reporter.php'; // 包含进来这两个文件
function add($var1, $var2) {
return $var1 + $var2;
}
class BasicUnitTest extends UnitTestCase { // 从UnitTestCase类继承
function BaicUnitTest($name = '') {
$this->UnitTestCase($name); // $name作为测试页的heading显示
}
function testEqual() {
$this->assertEqual(25, add(10, 15));
}
}
$test = new BasicUnitTest();
$test->run(new HtmlReporter());
?>
创建的测试类继承自UnitTestCase类,UnitTestCase类是simpletest提供的基本类,一般的自定义测试都会继承该类。BasicUnitTest类中的函数一般以test开头,以便UnitTestCase自动化地执行该函数。$this->assertEqual()作为断言的一种,用来测试结果与提供的值的一致性。add(10, 15)一定会与提供的25相等,这样就通过了测试。当然,这只是一个很简单的例子,这里只是提供一种思路,具体的可以查看官方文档。
现在还没有评论