Simpletest的核心是一套建立在测试用例类上的测试框架。包含一个内嵌的web浏览器用来测试PHP的Web网站。这些测试用例类都是继承自测试用例基类,每个测试用例实际上是测试代码。顶层的测试脚本调用run方法按照顺序执行所有用例类。每个测试方法都调用assert的变种函数来判断测试的结果。
下面是一个测试用例的例子:
<?php
class MyTestCase extends UnitTestCase {
function testLogWroteMessage() {
$log = &new Log('my.log');
$log->message('Hello');
$this->assertTrue(file_exists('my.log'));
}
}
?>
这些工具是为开发者而写的。测试用php语言写成。用php语言的优势是不用学习新的语言,测试可以马上开始,开发者可以测试任何部分代码。一般所有能被应用程序访问的代码,也能被测试代码访问,如果他们是同一种语言的话。
测试用例最简单的类型是UnitTestCase,这个类包含了所有用于质量、引用、模式匹配的标准测试。这些是绝大多数日常开发的测试所需要的。
Web应用程序的顶级任务不是产生正确的输出,而是生成页面。WebTestCase类用于测试web页面。他仿真了web浏览器对页面的请求,包括cookie、代理、安全连接、验证、表单、frame以及大多数导航元素。有了这个类,开发者能判断页面的信息正确与否。
一个web测试用例的例子:
<?php
class MySiteTest extends WebTestCase {
function testHomePage() {
$this->get('http://www.mysite.com/index.php');
$this->assertTitle('My Home Page');
$this->clickLink('Contact');
$this->assertTitle('Contact me');
$this->assertPattern('/Email me at/');
}
}
?>
Simpletest官网
Simpletest下载