当前位置: 首页 > 编程笔记 >

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

蓬运诚
2023-03-14
本文向大家介绍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

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程序设计有所帮助。

 类似资料:
  • 本文向大家介绍详解Android单元测试方法与步骤,包括了详解Android单元测试方法与步骤的使用技巧和注意事项,需要的朋友参考一下 一、修改配置文件AndroidManifest.xml 说明:1、在Application节点中Activity前添加 <uses-library android:name="android.test.runner" /> 2、在Application节点的添加

  • 本文向大家介绍详解.Net单元测试方法,包括了详解.Net单元测试方法的使用技巧和注意事项,需要的朋友参考一下 1、测试异常 可以直接对方法进行异常测试,也可以对模拟对象进行异常测试,但是,对模拟对象进行异常测试,很少用,所以,这里就介绍对方法的异常测试。请看如下代码,当用户名为空的时候,抛出异常。 例如 测试代码如下 2、测试返回值 这里用到了一个LastCall的一个类,比较常用,一些辅助测试

  • 对于php开发者来说,做单元测试并不是很方便,这也是大部分phper不愿意写单元测试的原因。但是单元测试对提高程序的质量来说,有实在是太重要的了。 有关这一点,我也是在学习java,体验过单元测试的魅力之后才切身体会到的。 那么现在我们就以herosphp为栗子,一起来看看php的单元测试环境如何配置。 首先,毫无疑问,php的单元测试肯定是要依赖phpunit这个工具了。那么我们要先 安装php

  • 我试图模拟一个方法链(嵌套)以返回所需的值,这是代码: 我试过这个模拟,但它不起作用: 任何解决方案如何解决这样的问题? 非常感谢。

  • 如果我们需要自定义本地单元测试配置,可以这样做. 操作步骤: 打开Run\/Debug Configurations对话框 —> 点击左上角的+号 —> Android Tests 然后新增一个Android Tests配置窗口: 1.Name: 输入配置名 2.Module:选择需要测试的模块 3.Test: 指定测试范围 4.指定instrumentation runner 5.指定目标设备.

  • 本文向大家介绍Django单元测试中Fixtures用法详解,包括了Django单元测试中Fixtures用法详解的使用技巧和注意事项,需要的朋友参考一下 在使用单元测试时,有时候需要测试数据库中有数据,这时我们可以使用Django的Fixtures来生成测试数据。  Django是一个开放源代码的Web应用框架,由Python写成。采用了MVT的软件设计模式,即模型Model,视图View和模板