服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - PHP教程 - PHP测试框架PHPUnit组织测试操作示例

PHP测试框架PHPUnit组织测试操作示例

2019-10-04 20:53我是天才啊 PHP教程

这篇文章主要介绍了PHP测试框架PHPUnit组织测试,结合实例形式分析了PHPUnit组织测试具体步骤、相关命令与操作技巧,需要的朋友可以参考下

本文实例讲述了PHP测试框架PHPUnit组织测试操作。分享给大家供大家参考,具体如下:

首先是目录结构

PHP测试框架PHPUnit组织测试操作示例

源文件夹为 src/
测试文件夹为 tests/

User.php

<?php
class Errorcode
{
  const NAME_IS_NULL = 0;
}
class User
{
  public $name;
  public function __construct($name)
  {
    $this->name=$name;
  }
  public function Isempty()
  {
    try{
      if(empty($this->name))
      {
        throw new Exception('its null',Errorcode::NAME_IS_NULL);
      }
    }catch(Exception $e){
      return $e->getMessage();
    }
    return 'welcome '.$this->name;
  }
}

对应的单元测试文件  UserTest.php

<?php
use PHPUnit\Framework\TestCase;
class UserTest extends TestCase
{
  protected $user;
  public function setUp()
  {
    $this->user = new User('');
  }
  public function testIsempty()
  {
    $this->user->name='mark';
    $result =$this->user->Isempty();
    $this->assertEquals('welcome mark',$result);
    $this->user->name='';
    $results =$this->user->Isempty();
    $this->assertEquals('its null',$results);
  }
}

第二个单元测试代码因为要引入 要测试的类  这里可以用 自动载入 避免文件多的话 太多include

所以在src/ 文件夹里写 autoload.php

<?php
function __autoload($class){
  include $class.'.php';
}
spl_autoload_register('__autoload');

当需要User类时,就去include User.php。写完__autoload()函数之后要用spl_autoload_register()注册上。

虽然可以自动载入,但是要执行的命令变得更长了。

打开cmd命令如下

phpunit --bootstrap src/autoload.php tests/UserTest

所以我们还可以在根目录写一个配置文件phpunit.xml来为项目指定bootstrap,这样就不用每次都写在命令里了。

phpunit.xml

<phpunit bootstrap="src/autoload.php">
</phpunit>

然后

打开cmd命令 执行MoneyTest 命令如下

phpunit tests/UserTest

打开cmd命令 执行tests下面所有的文件 命令如下

phpunit tests

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

延伸 · 阅读

精彩推荐
  • PHP教程PHP PDOStatement::fetchObject讲解

    PHP PDOStatement::fetchObject讲解

    今天小编就为大家分享一篇关于PHP PDOStatement::fetchObject讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    php参考手册5102019-06-24
  • PHP教程PHP+MySQL实现模糊查询员工信息功能示例

    PHP+MySQL实现模糊查询员工信息功能示例

    这篇文章主要介绍了PHP+MySQL实现模糊查询员工信息功能,结合实例形式分析了php连接mysql数据库及使用like语句进行模糊查询与显示相关操作技巧,需要的朋友可以参考下 ...

    chengqiuming2662019-09-29
  • PHP教程PHP xpath()函数讲解

    PHP xpath()函数讲解

    今天小编就为大家分享一篇关于PHP xpath()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    php参考手册3572019-06-18
  • PHP教程Laravel认证原理以及完全自定义认证详解

    Laravel认证原理以及完全自定义认证详解

    最近在学习laravel框架,所以下面这篇文章主要给大家介绍了关于Laravel认证原理以及完全自定义认证的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧 ...

    迷途小码农4582019-09-20
  • PHP教程PHP后台实现微信小程序登录

    PHP后台实现微信小程序登录

    这篇文章主要为大家详细介绍了PHP后台实现微信小程序登录,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...

    weilong0074582019-09-16
  • PHP教程PHP simplexml_load_file()函数讲解

    PHP simplexml_load_file()函数讲解

    今天小编就为大家分享一篇关于PHP simplexml_load_file()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    php参考手册3602019-06-22
  • PHP教程php实现微信支付之现金红包

    php实现微信支付之现金红包

    这篇文章主要为大家详细介绍了php实现微信支付之现金红包,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...

    织梦猫4162019-09-30
  • PHP教程thinkPHP框架实现的无限回复评论功能示例

    thinkPHP框架实现的无限回复评论功能示例

    这篇文章主要介绍了thinkPHP框架实现的无限回复评论功能,结合实例形式简单分析了thinkPHP实现无限回复的相关控制器、视图操作技巧,需要的朋友可以参考下 ...

    徐彬3412019-09-28