欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-10-15 09:43:19
本文实例讲述了php单元测试配置与使用方法。分享给大家供大家参考,具体如下: php与其他语言不太一样,单元测试需要自己安装和配置,相对麻烦一点,不过单元测试对于提高库的稳定性和健壮...

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

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

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

配置说明

1.全局安装phpunit命令脚本

$ 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代码

composer global require phpunit/phpunit

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

<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

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

5.配置单元测试类提示,languages & frameworks > php > include path

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

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

6.单元测试编写

1.class为demo的测试类为demotest

2.测试类继承于 phpunit\framework\testcase

3.测试方法

  • 必须为public权限,
  • 一般以test开头,也可以给其加注释@test来标识
  • 在测试方法内,类似于 assertequals() 这样的断言方法用来对实际值与预期值的匹配做出断言。
<?php
use eoffcn\utils\arrays;
use phpunit\framework\testcase;
/**
 * 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即可

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

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

phpunit tests/arraystest.php

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

2.执行全局单元测试

phpstorm方式

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

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

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

phpunit

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