首页 > 编程语言 >php一个简单的测试工具simpletest

php一个简单的测试工具simpletest

时间:2022-12-08 13:02:52浏览次数:38  
标签:log require test simpletest 测试工具 php once


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

1 下载:
​​​   http://sourceforge.net/projects/simpletest/, ​​​可惜文档及项目主站要那个XXX,大家懂的

2 使用
   下载后,只要测试文件中包含如下两个文件,就可以用了
  <?php
require_once('simpletest/autorun.php');
require_once('simpletest/web_tester.php');

?>

3 比如测试一个界面吧
  <?php
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", "[email protected]");
  $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.");

}
运行后会看到通过的情况



再举一个单元测试的例子:
比如有个类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格式输出


标签:log,require,test,simpletest,测试工具,php,once
From: https://blog.51cto.com/u_14230175/5920977

相关文章

  • java-net-php-python-sceatch在线学习系统2019演示录像计算机毕业设计程序
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • java-net-php-python-s2s酒店管理系统计算机毕业设计程序
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • 如何利用PHP进行数据采集
    随着信息时代的到来,现在大部分人获取的信息都来自互联网网站,如果对自己有用的数据使用传统的复制粘贴,效率会极其低下。如何才能快速的完成批量采集工作呢?下面我们就聊一聊关......
  • 十大开源测试工具和框架
    免费的开源框架和工具由于其开源特性,现在逐渐成为自动化测试的首选解决方案。区别在于,你是喜欢使用类库编写一个全新的自动化测试框架,或者喜欢使用一个现成的工具。本文帮......
  • PHP兼容性检测
    根据鸟哥分享的PHP性能评测,从PHP5.0到PHP7.0,其性能提升到了12倍左右,因此把PHP5升级到PHP7,是可以提升项目运行速度的。但PHP5到PHP7是大版本的提升,一定会出现不向后兼容的......
  • PHP 自定义 数组根据键去重
    去重前$result=$this->unique_array_by_key($result,"id");functionunique_array_by_key($array,$unique_key){$tmp_key[]=array();forea......
  • PHP加密代码及部分解密处理
    PHP是动态解析型语言即代码不需要编译运行,因不利于代码保密所以在一些商业或黑客会将代码进行加密处理,尽可能的保护知识产权,是一种合理合法的做法。特别说明:以下解密思路及......
  • 建造者模式(描述语言PHP)
    Builder模式强调的是一步步创建对象,并通过相同的创建过程可以获得不同的结果对象,一般来说Builder模式中对象不是直接返回的。 <?php/***建造者模式**将一个复杂......
  • PHP扩展 Opcache工作原理
    PHP工作原理首先,我们先了解下解释型语言PHP的工作原理,这有利于我们了解PHPOpcache。对于PHP,我们常用的是cli模式和php-fpm模式。下面我们拿cli模式来描述下php执行脚本......
  • php-fpm进程过多,导致CPU过高
    今天发现服务器的php-fpm进程突然过多,导致CPU过高,其他项目的访问受到影响。我通过以下三个基本步骤定位到了问题,发现了其原因。 基本步骤:先用top命令查看进程情况,找出......