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

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

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

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即可

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

phpunit tests/ArraysTest.php

  

2.执行全局单元测试

phpstorm方式

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

phpunit

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

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

(0)

相关推荐

  • PHPUnit + Laravel单元测试常用技能

    1. 数据供给器 用来提供参数和结果,使用 @dataProvider 标注来指定使用哪个数据供给器方法.例如检测app升级数据是否符合预期,addProviderAppUpdateData()提供测试的参数和结果.testAppUpdateData()检测appUpdateData()返回的结果是否和给定的预期结果相等,即如果$appId='apple_3.3.2_117', $result=['status' => 0, 'isIOS' => false], 则$data中如果含有['st

  • PHP单元测试PHPUnit简单用法示例

    本文实例讲述了PHP单元测试PHPUnit简单用法.分享给大家供大家参考,具体如下: windows开发环境下,PHP使用单元测试可以使用PHPUnit. 安装 首先下载PHPUnit,官网:https://phpunit.de/  根据自己的PHP版本下载对应的PHPUnit版本,我本地是PHP5.5,所以这里我下载PHPUnit4.8.下载完成得到phpunit-4.8.35.phar文件,放到任意目录,这边我放到D:\phpunit下,并把文件名改为:phpunit.phar  .配置环境

  • PHP单元测试利器 PHPUNIT初探第1/2页

    当你遇到以上这些令你沮丧的情况时,你一定会想能有什么更好的办法去解决呢?办法当然是有的!这就是使用单元测试.单元测试不但可以在一定程度上解决上述头疼的问题,而且能让代码变的容易维护,还可以能让你更多地对代码进行重构. 一旦你编写好单元测试用例,当你需要修改你的代码时,你要做的事情就是重新运行你的单元测试用例并观察这些单元测试用例能否通过,如果通过了的话,证明代码是没问题的. 人们往往会说:既然单元测试这么好,为什么那么多人还是不大愿意去写单元测试呢?有以下几种理解上的误曲: 1.认为编写单元测试

  • thinkPHP框架单元测试库tpunit用法示例

    本文实例讲述了thinkPHP框架单元测试库tpunit用法.分享给大家供大家参考,具体如下: thinkphp本身并没有提供相应的单元测试支持,所以这里介绍一个可以对tp进行单元测试的库tpunit. Tpunit这个库是依赖于phpunit的,其特点是易用.方便和非入侵式. 使用TPUNIT很简单,只需要定义一个路径常量和导入要被测试的文件即可. Home模块下有个控制器如下: namespace Home\Controller; use Think\Controller; class In

  • Windows下安装PHP单元测试环境PHPUnit图文教程

    1.按照常规下载 php 的zip包和配置好 php.ini,这里的例子使用的是 E:\php 2.把你的 php 目录加入系统环境变量 path 中 3.开始 运行 输入 cmd,然后切换到你的 php 目录,我当前的就是 E:\php 4.输入 go-pear.bat 首先脚本会询问是把 pear 安装为系统范围的还是本地拷贝,这里我们默认选择系统,直接回车即可 5.这时显示当前的路径配置,并询问你是否修改,我们保持默认依然回车即可,回车后脚本就会开始自动安装 pear 库了 6.安装的时候

  • Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法

    本文实例讲述了Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法.分享给大家供大家参考,具体如下: phpunit下载网站 http://www.phpunit.cn/ 一.安装PHPUnit 1.选择版本 我用的是php版本是5.6.25 所以我选择的是PHPUnit 5.7 2.安装过程 ① 为 PHP 的二进制可执行文件建立一个目录,例如 C:\bin ② 将 ;C:\bin 附加到 PATH 环境变量中  [将 php的目录 ;E:\wamp64\bin

  • PHP单元测试框架PHPUnit用法详解

    本文实例讲述了PHP单元测试框架PHPUnit用法.分享给大家供大家参考,具体如下: 以前在学习IOS开发时有专门写过Objective-C的单元测试的文章,IOS开发学习之单元测试,今天再总结下怎么在PHP中使用单元测试. 一.前言 在这篇文章中,我们使用 composer 的依赖包管理工具进行phpunit包安装和管理,composer 官方地址 https://getcomposer.org/,按照提示进行全局安装即可,另外,我们也会使用一个非常好用的Monolog记录日志组件记录日志,方

  • php单元测试phpunit入门实例教程

    本文实例讲述了php单元测试phpunit.分享给大家供大家参考,具体如下: 这篇文章提供了一些phpunit官方教程没有提到的信息,帮助初学者快速了解php单元测试,在phpunit官网提供了详细的中文教程,可选多种格式下载 phpunit官网地址:https://phpunit.de/ 何为单元测试: 指对软件中的基本单元进行测试,如函数.方法等,以检查其返回值或行为是否符合预期:实际中软件是很复杂的,由许多组件构成,执行流程连贯在一起,要进行单元片段的测试,就需要为其提供执行上下文(或者说

  • 使用PHPUnit进行单元测试并生成代码覆盖率报告的方法

    安装PHPUnit 使用 Composer 安装 PHPUnit #查看composer的全局bin目录 将其加入系统 path 路径 方便后续直接运行安装的命令 composer global config bin-dir --absolute #全局安装 phpunit composer global require --dev phpunit/phpunit #查看版本 phpunit --version 使用Composer构建你的项目 我们将新建一个unit项目用于演示单元测试的基本工

  • PHP单元测试利器 PHPUNIT深入用法(二)第1/2页

    1.markTestSkipped和markTestIncomplete 在phpunit中,有两个有用的方法markTestSkipped和markTestIncomplete.它们能允许你编写的单元测试中不单是只有通过和失败两种结果.markTestSkipped能让PHPUNIT不去执行某个已经编写好的测试方法.举个例子说明,比如下面的程序: #div_code img{border:0px;} <?phppublic function testThisMightHaveADb(){  $

  • PHP使用phpunit进行单元测试示例

    本文实例讲述了PHP使用phpunit进行单元测试.分享给大家供大家参考,具体如下: 1. linux服务器上安装phpunit wget https://phar.phpunit.de/phpunit.phar chmod +x phpunit.phar sudo mv phpunit.phar /usr/local/bin/phpunit 建立phpunit短命令 phpunit --version [root@dongzi phpunit_test]# phpunit --version

  • PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

    在本文中,笔者将为大家介绍phpunit中的两个高级概念和用法,尽管它不一定在你的日常单元测试中都用到,但理解和学会它们的用法对学习phpunit还是十分重要的. Phpunit中的Annotations 如果有其他编程语言经验的开发者,应该对Annotations(注解)不陌生,其实在phpunit中,一个简单的如下面的一段注释也可以认为是Annotations: #div_code img{border:0px;} <?phpclass MyTestClass extends PHPUnit

随机推荐