`
xieye
  • 浏览: 831010 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

php测试框架概览

    博客分类:
  • PHP
阅读更多
今天 2017-07-11
总体来说,写php程序,有测试代码好于无测试代码,不管用什么方式。

composer知识:require-dev使用

composer.json内一般用
 "require": {
        "zf1/zend-db":"1.12.11",
        "zf1/zend-paginator":"1.12.11"
        ... ...
    }


但也会像下面这样使用
   "require": {
        "zf1/zend-db":"1.12.11",
        "zf1/zend-paginator":"1.12.11"
    },
    "require-dev": { //这个是开发需要安装的项目,相当于开发环境,可以通过-no-dev来取消安装这个项目里面的包
        "phpspec/prophecy": "~1.0"
    }


关于测试是在开发机还是生产服务器的情况,应该说都有,自己选吧。
假设我们是在开发机测试,不在生产服务器测试,则我们的composer安装和更新命令应该是:
开发机上只运行:
composer install
composer update


生产服务器只运行
composer install --no-dev
composer update  --no-dev



php测试框架概览
本文的目的是查看当前所有的php测试框架,并且挑选出比较好的,并在之后的文章中予以介绍。
挑选依据依然很简单,composer下载量(单位:万),以及好评量(单位:百)。

    Alice - An expressive fixture generation library. (271/13)
    AspectMock - A mocking framework for PHPUnit/Codeception.(52/5)
    Atoum - A simple testing library.(39/10)
    Behat - A behaviour driven development (BDD) testing framework.(873/22)
    Codeception - A full stack testing framework.(515/29)
    DBUnit - A database testing library for PHPUnit.(379/1)
    Faker - A fake data generator library.(2268/113)这是一个数据库数据填充工具,laravel内置有。
    HTTP Mock - A library for mocking HTTP requests in unit tests.(0)
    Kahlan - Full stack Unit/BDD testing framework with built-in stub, mock and code-coverage support.(2/7)
    Mink - Web acceptance testing.(861/8)
    Mockery - A mock object library for testing.(1980/23)
    ParaTest - A parallel testing library for PHPUnit.(126/5)
    Peridot - An event driven test framework.(5/2)
    Phake - Another mock object library for testing.(110/4)
    Pho - Another behaviour driven development testing framework.(1/2)
    PHP-Mock - A mock library for built-in PHP functions (e.g. time()).(28/1)
    PHPSpec - A design by specification unit testing library.(894/12)
    PHPT - A test tool used by PHP itself.(没找到)
    PHPUnit - A unit testing framework.(5063/65)
    Prophecy - A highly opinionated mocking framework.(3799/9)mock类库,因为phpunit内置,所以下载量超高。
    Samsui - Another fake data generator library.(没找到)
    VFS Stream - A virtual filesystem stream wrapper for testing.(0)
    VFS - Another virtual filesystem for testing.(9/2)
    simpletest - 其实是一款很好用的测试框架,作者现在不怎么更新了。使用很简单是其特点,好上手。(7/1)
    Selenium 一个java的web客户端模拟操作类库,有php接口类库与之对应,可以使用。

上面的测试类库中:
本人文档有:
Codeception:codeception数据库中文支持
phpunit系列文章:php单元测试进阶系列文章
faker:Faker:php随机数据产生类库

phpunit官方中文文档
phpunit 4.8中文文档,支持php5.3-5.5,当然实际上以后也支持。
https://phpunit.de/manual/4.8/zh_cn/installation.html
"require-dev": {
  "phpunit/phpunit":"^4.8.36"
}

phpunit 5.7中文文档,支持php5.6以后全部
https://phpunit.de/manual/5.7/zh_cn/installation.html
"require-dev": {
  "phpunit/phpunit":"^5.7.21"
}

phpunit 6.2中文文档,支持php7以后
https://phpunit.de/manual/6.2/zh_cn/installation.html
"require-dev": {
  "phpunit/phpunit":"^6.2.3"
}


mocking框架Prophecy使用
Prophecy 高度可定制化的mocking框架。
安装
"require-dev": {
        "phpspec/prophecy": "1.7.0"
    }

这个类库的特点就是类和函数的名字特别神棍,什么预言,先知,启示等等。

延伸阅读:
依赖注入学习:http://xieye.iteye.com/blog/2384631
0
1
分享到:
评论

相关推荐

    Codeception 测试框架

    - **定义**:Codeception 是一款全面的 PHP 测试框架,专为 Web 应用程序设计,支持多种类型的测试,包括单元测试、功能测试以及验收测试。 - **特点**: - **分层测试**:Codeception 区分了不同级别的测试,每种...

    PHP敏捷开发CodeIgniter框架

    #### 一、CodeIgniter框架概览 **CodeIgniter**是一款专为PHP网站开发者设计的应用程序开发框架和工具包。它旨在简化开发流程,加速项目的构建速度。该框架提供了丰富的标准库及简易的接口与逻辑结构,有助于开发者...

    Zend Enterprise PHP Patterns.pdf--php框架

    - **框架开发**:对于希望了解或参与PHP框架(如Zend Framework)开发的程序员非常有用。 - **高级开发者**:适用于已经具备一定PHP基础,希望进一步提升编程技能的开发者。 #### 三、书籍主要内容概览 - **第1章...

    laravel5 PHP框架中文翻译文档PDF版

    ### Laravel5 PHP框架中文翻译文档知识点汇总 #### 一、简介与文档背景 - **文档类型**:本文档是Laravel5 PHP框架的中文翻译版本,以PDF格式提供,便于离线阅读。 - **更新时间**:最后更新时间为2015年3月13日。...

    yii框架中文手册教程

    ### Yii框架中文手册教程知识点概览 #### 一、Yii框架简介 - **定义与特点**:Yii是一个基于组件的高性能PHP框架,专为大型Web应用程序的开发而设计。其名称“Yii”代表着简单(Easy)、高效(Efficient)及可扩展...

    php单元测试文档pdf格式

    PHPUnit是由Sebastian Bergmann开发的一个流行的PHP单元测试框架。它允许开发者编写针对PHP代码的单元测试,并提供了丰富的断言方法来验证预期结果与实际结果的一致性。 #### 二、PHPUnit的目标 **PHPUnit的主要...

    基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    **基于Python+Selenium+PHP+Ftp的轻量级Web自动化测试框架** 自动化测试在软件开发过程中扮演着重要的角色,能够显著提高测试效率,减少人为错误。本文将介绍一个结合Python、Selenium、PHP和Ftp技术构建的轻量级...

    精选国外15个CSS框架.pdf

    ### CSS框架概览 CSS框架是一种为了快速、标准化地设计网页而提供的预设样式和类的集合。在现代网页设计和开发中,CSS框架已经成为标准实践的一部分,它们可以显著提高开发效率,同时保证跨浏览器的一致性和网页的...

    通用PHP版Exploit框架编写.txt

    本文档深入探讨了一个通用的PHP版Exploit框架的构建过程,旨在帮助安全研究人员和渗透测试者更高效地识别和利用Web应用程序中的漏洞。该框架特别关注于通过HTTP协议与目标服务器进行交互,以获取对系统的未授权访问...

    软件测试资源.docx

    4. **PhpUnit**:专为PHP语言设计的单元测试框架,支持数据提供者、断言等特性。 5. **TestBed/Klockwork**:这两款工具主要应用于军工行业,TestBed是一个功能齐全的白盒测试软件,支持单元测试、集成测试和静态...

    21个强大的javascript框架.doc

    ### 21个强大的JavaScript框架概览 #### Dojo:面向对象的强大框架 Dojo是一个高度模块化的JavaScript框架,以其强大的功能和灵活性著称。它由三个主要部分组成:Core、Dijit和DojoX。Core部分提供了对AJAX、事件...

    Yii PHP 框架BLOG开发手册

    ### Yii PHP 框架BLOG开发手册知识点详解 #### 一、概览与入门 (Getting Started) **1.1 构建博客系统使用 Yii** 本手册旨在为开发者提供一个全面指南,帮助他们利用 Yii PHP 框架构建功能丰富的博客系统。通过...

    php自学手册

    ### PHP自学手册概览 **标题:** “php自学手册” **描述:** 本手册旨在为初学者提供一个全面的PHP学习指南。内容涵盖了从基础到高级的各种PHP知识点,并通过实践案例帮助读者掌握网站开发技巧。 ### PHP基础...

    入门教程PHP (最基础的PHP

    ### 入门教程PHP——最基础的PHP概览 #### PHP程序设计简明教程解析 **标题和描述解析:** 标题“入门教程PHP (最基础的PHP)”与描述“入门教程PHP 最基础的PHP”强调了该教程面向的是PHP初学者,旨在提供最基础...

    韩顺平_php从入门到精通教学视频及资料

    1. **框架使用**:介绍当前流行的PHP开发框架(如Laravel、Symfony等),并通过实际案例演示框架的应用场景和优势。 2. **缓存机制**:讲解PHP中常见的缓存技术(如Memcached、Redis等),以及如何利用缓存提高网站...

Global site tag (gtag.js) - Google Analytics