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字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》及《php优秀开发框架总结》

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

(0)

相关推荐

  • 详解Yaf框架PHPUnit集成测试方法

    本文介绍了详解Yaf框架PHPUnit集成测试方法,分享给大家,具体如下: 测试目录 test ├── TestCase.php ├── bootstrap.php ├── controller │ ├── BaseControllerTest.php │ └── IndexControllerTest.php ├── model ├── phpunit.xml └── service └── TokenServiceTest.php phpunit.xml <?xml version="

  • 使用phpunit进行接口自动化测试

    年初一个偶然的机会接触到了phpunit,一个用PHP编程语言开发的开源软件,也是一个单元测试框架,有效利用的话可以大大提高接口遍历的效率.废话不多说,直接干货. 1.安装 在php的目录下 pear channel-discover pear; pear install phpunit/PHPUnit 2.配置 首先新建一个lib文件夹存放的配置文件,然后再新建一个transfer.php的文件 <?php function do_Post($url, $fields, $extraheade

  • PHPUnit PHP测试框架安装方法

    单元测试是几个现代敏捷开发方法的基础,使得PHPUnit成为许多大型PHP项目的关键工具.这个工具也可以被Xdebug扩展用来生成代码覆盖率报告 ,并且可以与phing集成来自动测试,最后它还可以和Selenium整合来完成大型的自动化集成测试. Windows平台LAMP环境XAMPP 1.7.3下如何安装PHPUnit呢? 首先,以管理员身份运行cmd,使用pear添加phpunit频道: D:\xampp\php>pear channel-discover pear.phpunit.de

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

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

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

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

  • 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入门实例教程

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

  • PHPUnit测试私有属性和方法功能示例

    本文实例讲述了PHPUnit测试私有属性和方法功能.分享给大家供大家参考,具体如下: 一.测试类中的私有方法: class Sample { private $a = 0; private function run() { echo $a; } } 上面只是简单的写了一个类包含,一个私有变量和一个私有方法.对于protected和private方法,由于无法像是用public方法一样直接调用,所以在使用phpunit进行单测的时候,多有不便,特别是当一个类中,对外只提供少量接口,内部使用了大量p

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

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

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

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

  • 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.安装的时候

随机推荐