zoukankan      html  css  js  c++  java
  • php 单元测试

      前几天把个人上半年计划拿出来看了一下,有学习单元测试的内容,今天没什么事情,就看了一下phpunit!安装phpunit是件很蛋疼事情,尤其在window下面,记得当初费了很大劲才装上,这里就不介绍怎么装的了,你可以去百度一下,首先装上pear,再装phpunit。

      装好了phpunit,可以写个例子练习!

    require_once 'PHPUnit/Framework/TestCase.php';
    
    
    /**
    * test
    */
    class TestAdd extends PHPUnit_Framework_TestCase 
    {
        /**
        *
        */
        public function setUp()
        {
            parent::setUp();
            
        }
        
        public function tearDown()
        {
            parent::tearDown();
        }
        
        public function testTrue() 
        {
            $this->assertContains('baz', 'foobar');
        }
        
        public function testFloat()
        {
            $this->assertEquals(1.0, 1.2, '相等', 0.2);
        }

     setup 可以在里面初始化一些变量,tearDown 是测试完后,释放setUp里面变量所占的内存! assertEquals 是个很常用的方法!

    assertEquals(mixed $expected, mixed $actual[, string  $message = '']) 第一个是期望的值,第二是实际的值。你看的我们上面例子,在比较浮点数的时候,

    assertEquals(float $expected, float $actual[, string $message = '', float $delta = 0]),有个$delta ,这个参数的意思是我们期望值和实际值的差的最大值,如果小于$delta 则视为通过。其他的判断方式可以到 http://www.phpunit.de/manual/current/en/  去查找

    上面通过命令行输出:

     

    第一个"F"表示失败,第二个"." 表示通过!

     集成测试

      你一下测试一个项目所有的测试文件,而不是单个测试! 你可以通过 继承 PHPUnit_Framework_TestSuite来实现

    require_once 'TestAdd.php';
    require_once 'TestArray.php';
    /**
    * test
    */
    class TestSuite extends PHPUnit_Framework_TestSuite 
    {
        public function __construct() 
        {
            $this->setName('testSuite');
            $this->addTestSuite('TestAdd');
            $this->addTestSuite('TestArray');
        }
        public static function suite()
        {
            return new self();
        }
    }

     这样就可以测试 TestAdd.php和TestArray 文件了! phpunit 里面很多内容,大多数用不到! 
     

  • 相关阅读:
    开启safe_mode之后对php系统函数的影响
    解析posix与perl标准的正则表达式区别
    教你在不使用框架的情况下也能写出现代化 PHP 代码
    杭州逆行崩溃小伙首度回应
    PHP命令行脚本接收传入参数的三种方式
    PHP魔术方法使用总结
    Nginx服务器的rewrite、全局变量、重定向和防盗链相关功能
    重定向
    P2141 珠心算测验
    T2695 桶哥的问题——吃桶
  • 原文地址:https://www.cnblogs.com/liuzhang/p/3038561.html
Copyright © 2011-2022 走看看