phpunit超详细使用教程

作者:zarte    发布时间: 2020-12-06

phpphpunit测试

介绍

phpunit是一款轻量级的PHP测试框架,可以生成覆盖率报告可直观查看。
官方文档http://www.phpunit.cn/manual/6.5/zh_cn/index.html

使用

为项目添加依赖

在composer.json文件中修改,添加phpunit依赖

"require-dev": {
    "phpunit/phpunit": "6.*"
},

然后执行composer update即可,如果卡太久替换为国内源即可。

编写测试用例

项目根目录下创建tests 目录用来存放测试代码。目录结构如下

Img

unit

测试用例文件夹,可以按照一个类一个文件的方式。一般被测试类的后面加上”Test”,例如ExampleTest.php

use PHPUnit\Framework\TestCase;

class ExampleTest extends  TestCase {   
    public function testPushAndPop() {        
        $stack = 1;        
        $this->assertEquals(1, $stack);   
    }
}

use PHPUnit\Framework\TestCase;是必须的,测试类继承于PHPUnit_Framework_TestCase。
测试方法必须为public权限,都是test开头,或者你也可以选择给其加注释@test来表明该函数为测试函数

phpunit.xml

定义配置参数,范例如下:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap=".vendor/autoload.php">    
    <testsuites>        
        <testsuite name="service">            
            <directory>./test</directory>        
        </testsuite>    
    </testsuites>
</phpunit>

使用compser方式的bootstrap设置为vendor/autoload.php就可以,会自动载项目所需依赖。
testsuite是测试套件将多个测试用例分组,可用 --testsuite xx 测试某个测试套件

开始测试

编写好测试用例后就可以开始测。执行

 php ./phpunit-6.5.3.phar  -c  ./phpunit.xml

这样代表测试用例全部通过
Img

问题记录

  1. Could not read "/xxxx/phpunit.xml" 确认文件名是否正确,文件名前是否有多余空格.

  2. Img 查看对应版本phpunit文档,使用当前版本所支持的断言

上一篇:  c# System.Security.Cryptography 提示系统找不到指定的文件

下一篇:  php ftp扩展ftp_cdup方法部分ftp服务器异常

加载更多