phpunit是很好的单元测试工具,而本文介绍一款更轻量级的单元测试工具,开源的,

simpletest,

1 下载:

http://sourceforge.net/projects/simpletest/,

可惜文档及项目主站要那个XXX,大家懂的

2 使用

下载后,只要测试文件中包含如下两个文件,就可以用了

require_once('simpletest/autorun.php');

require_once('simpletest/web_tester.php');

?>

3 比如测试一个界面吧

require_once('simpletest/autorun.php');

require_once('simpletest/web_tester.php');

class SimpleFormTests extends WebTestCase {

function testDoesContactPageExist() {

$this->get('http://www.example.com/contact.php');

$this->assertResponse(200);

}

}

?>

还可以测试表单的提交动作呢

function testIsProperFormSubmissionSuccessful() {

$this->get('http://www.example.com/contact.php');

$this->assertResponse(200);

$this->setField("name", "Jason");

$this->setField("email", "wj@example.com");

$this->setField("message", "I look forward to hearing from you!");

$this->clickSubmit("Contact us!");

$this->assertResponse(200);

$this->assertText("We will be in touch within 24 hours.");

}

运行后会看到通过的情况

0818b9ca8b590ca3270a3433284dd417.png 再举一个单元测试的例子: 比如有个类LOG,是在磁盘上建立文件 <?php require_once('simpletest/unit_tester.php'); require_once('simpletest/reporter.php'); require_once('../classes/log.php'); class TestOfLogging extends UnitTestCase {         function testCreatingNewFile() {         @unlink('/temp/test.log');         $log = new Log('/temp/test.log');         $this->assertFalse(file_exists('/temp/test.log'));         $log->message('Should write this to a file');         $this->assertTrue(file_exists('/temp/test.log'));     } } $test = &new TestOfLogging(); $test->run(new HtmlReporter()); ?> 测试方法中所有都默认以test开头的,这点要注意,最后用$test->run(new HtmlReporter());表示以HTML格式输出

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐