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

    PHPUNIT###

    目的:
    1,phpunit.xml的设置.基本的测试部署
    2,dataprovider的几种提供方式
    3,以测试驱动开发(TDD)以及敏捷开发模式的目的,编写mock对象。
    

    phpunit.xml

    主要用来设置入口文件和测试套件(testsuite ),其他的设置不谈。

    dataprovider的几种提供方式

    函数提供

        public function dataProvider()
        {
            return array(
                array(
                    array(20320,22909)
                ),
                array(
                    array(20320,22909)
                )
            );
        }
    
    

    这里必须是一个二维数组. array(array(a,b),array(a,b)) 这里的a,b相当于 func(a,b),php函数方法也可以用 func_get_args来传递 如 array(array(20320,22909)) func($a=array(20320,22909))

    文件提供:

        /**
         * @dataProvider dataProvider
         */
        public function testGetByte(){
            $expect_result = array_pop($argc);
            $return  = $this->bytes->getBytes("你好");
            $this->assertEquals($return,$expect_result,"是否支持中文字符转码");
        }
    

    附录 phpexcel phpunit.xml
    安装方法 wget https://phar.phpunit.de/phpunit.phar
    参考手册 https://phpunit.de/manual/current/en/phpunit-book.pdf

    <?xml version="1.0" encoding="UTF-8"?> 
    <phpunit bootstrap="./bootstrap.php"
        backupGlobals="true"
        colors="true" 
        convertErrorsToExceptions="true" 
        convertNoticesToExceptions="true" 
        convertWarningsToExceptions="true" 
        processIsolation="false" 
        syntaxCheck="true" 
        verbose="true" 
        strict="true"
        stopOnError="false"
        stopOnFailure="false"
        stopOnIncomplete="false"
        stopOnSkipped="false">
        <php>
            <ini name="memory_limit" value="2048M"/>
        </php>
        <testsuite name="PHPExcel Unit Test Suite">
            <directory suffix="Test.php">./Classes</directory>
        </testsuite>
        <filter>
            <whitelist>
                <directory suffix=".php">../Classes</directory>
                <exclude>
                    <directory>../Classes/PHPExcel/Shared/PCLZip</directory>
                    <directory>../Classes/PHPExcel/Shared/JAMA</directory>
                    <directory>../Classes/PHPExcel/Writer/PDF</directory>
                </exclude>
            </whitelist>
        </filter>
    </phpunit> 
    
  • 相关阅读:
    linux —— 学习笔记(汇总)
    linux —— ubuntu 初次安装问题
    更改CMD默认的初始路径
    深入浅出理解linux inode结构
    重拾简单的linux指令之info 【转】
    Python 中数据的序列化和反序列化(json处理)
    day07
    Python 的反射机制
    Python 的 __new__()方法与实例化
    Classes as objects
  • 原文地址:https://www.cnblogs.com/canbefree/p/5080322.html
Copyright © 2011-2022 走看看