PHP单元测试配置与使用方法详解

2020-10-20 10:59:11 浏览数 (2)

本文实例讲述了PHP单元测试配置与使用方法。分享给大家供大家参考,具体如下:

php与其他语言不太一样,单元测试需要自己安装和配置,相对麻烦一点,不过单元测试对于提高库的稳定性和健壮性还是非常给力的,下面教大家怎么配置PHP单元测试

注意:php需升级到7.1版本以上

配置说明

1.全局安装phpunit命令脚本

代码语言:javascript复制
$ wget https://phar.phpunit.de/phpunit-7.0.phar
$ chmod  x phpunit-7.0.phar
$ sudo mv phpunit-7.0.phar /usr/local/bin/phpunit
$ phpunit --version
PHPUnit x.y.z by Sebastian Bergmann and contributors.

2.全局安装安装phpunit代码

代码语言:javascript复制
composer global require phpunit/phpunit

3.创建 phpunit.xml放在你的项目根目录, 这个文件是 phpunit 会默认读取的一个配置文件:

代码语言:javascript复制
<phpunit bootstrap="vendor/autoload.php" 
  <testsuites 
    <testsuite name="service" 
      <directory tests</directory 
    </testsuite 
  </testsuites 
</phpunit 

4.配置phpstorm单元phpunit.phar路径,Languages & Frameworks PHP PHPUinit

如我的phpunit本地的路径为/usr/local/bin/phpunit

5.配置单元测试类提示,Languages & Frameworks PHP include path

如我的phpunit包本地的路径为/Users/chenqionghe/.composer/vendor/phpunit

6.单元测试编写

1.Class为Demo的测试类为DemoTest
2.测试类继承于 PHPUnitFrameworkTestCase
3.测试方法
  • 必须为public权限,
  • 一般以test开头,也可以给其加注释@test来标识
  • 在测试方法内,类似于 assertEquals() 这样的断言方法用来对实际值与预期值的匹配做出断言。
代码语言:javascript复制
<?php
use EoffcnUtilsArrays;
use PHPUnitFrameworkTestCase;
/**
 * Array测试用例
 * Class ArraysTest
 */
class ArraysTest extends TestCase
{
  public function testGet()
  {
    $array = [
      1 =  [
        'b' =  [
          'c' =  'cqh'
        ]
      ],
      2 =  [
        'b' =  [
          'c' =  'cqh'
        ] ]
    ];
    $this- assertEquals('cqh', Arrays::get($array, '1.b.c'));
  }
}

执行单元测试  

1.执行单个文件单元测试

Phpstorm方式,当前测试类右键Run即可

命令行的方式,进行项目目录执行

代码语言:javascript复制
phpunit tests/ArraysTest.php

2.执行全局单元测试

phpstorm方式

命令行方式,命令行下进入当前项目执行

代码语言:javascript复制
phpunit

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP错误与异常处理方法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》及《php优秀开发框架总结》

希望本文所述对大家PHP程序设计有所帮助。

0 人点赞