当前位置: 首页 > 工具软件 > SimpleTest > 使用案例 >

什么是SimpleTest?

吴欣悦
2023-12-01

什么是SimpleTest?

327人阅读 评论(0) 收藏 举报

SimpleTest 的核心是一个基于test case 类的测试框架。它们被编写为 base test case classes的扩展,每个被扩展的方法实际包含了测试代码。顶层测试脚本然后调用 run() 方法,以这些test case 出现的顺序来测试它们。每个方法被编写以调用各种开发者希望为真的断言,例如 assertEqual()。若希望值是正确的,成功的结果被分派到测试报告器,但是任何失败触发一个警告以及偏差的描述。

 

一个测试案例如下...

  1. <?php  
  2. require_once('simpletest/autorun.php');  
  3. class MyTestCase extends UnitTestCase {  
  4.       
  5.     function testCreatedLogFile() {  
  6.         $log = &new Log('my.log');  
  7.         $log->message('Hello');  
  8.         $this->assertTrue(file_exists('my.log'));  
  9.     }  
  10. }  
  11. ?>  

这些工具是为开发者设计的。Tests are written in the PHP language itself more or less as the application itself is built. 使用 PHP 自身作为测试语言的优点在于无需学习新的语言,测试可以马上开始,开发者可以测试代码的任何部分。基础的,可以被应用代码访问的所有代码也可以被测试代码访问,若它们以相同的编程语言编写。

 

最简单的测试案例是 UnitTestCase。此测试案例类包含相等,引用和模式匹配的标准测试。所有这些测试,其基本的期望值是:你期望的一个函数或方法的结果是什么。这是目前开发中最常用的测试类型,构成了测试案例的 95%。

 

一个网络应用顶级的任务不是从它的方法和对象中生成正确的输出,而是生成网页。WebTestCase 类测试网页。它模拟一个网页浏览器请求一个页面,包括 cookies, proxies, 安全连接,认证,表单,框架和大多数导航元素。有了这个类型的测试案例,开发者可以宣称信息在当前页面,表单和 sessions 被正确地处理。

 

一个 WebTestCase 如下...

  1. <?php  
  2. require_once('simpletest/autorun.php');  
  3. require_once('simpletest/web_tester.php');  
  4. class MySiteTest extends WebTestCase {  
  5.       
  6.     function testHomePage() {  
  7.         $this->get('http://www.my-site.com/index.php');  
  8.         $this->assertTitle('My Home Page');  
  9.         $this->clickLink('Contact');  
  10.         $this->assertTitle('Contact me');  
  11.         $this->assertPattern('/Email me at/');  
  12.     }  
  13. }  
  14. ?>  

 

 类似资料: