文档章节

PHPunit mock 模拟

lianwenjun
 lianwenjun
发布于 2015/04/18 00:31
字数 201
阅读 15
收藏 0
点赞 0
评论 0

当我们对A类进行单元测试时,A类可能依赖了B类,为了减少依赖,方便A类方法的测试,我们可以模拟一个B类,简单规定其各方法的返回值(而非真正实现具体逻辑)。
Phpunit中提供了一套模拟类的api,简单使用如下:


class StubTest extends PHPUnit_Framework_TestCase
{
    public function testStub()
    {
        // Create a stub for the SomeClass class.
        $stub = $this->getMock(‘SomeClass’);

        // Configure the stub.
        $stub->expects($this->any())
             ->method(‘doSomething’)
             ->will($this->returnValue(‘foo’));

        // Calling $stub->doSomething() will now return ‘foo’.
        $this->assertEquals(‘foo’, $stub->doSomething());
    }
}


© 著作权归作者所有

共有 人打赏支持
lianwenjun
粉丝 0
博文 1
码字总数 201
作品 0
深圳
Len/Len Framwork

Len Framwork 简介: 这是个php框架, 但是这个框架还很弱小. Len 框架就像它的名字一样, 非常精简. 目标: 简单! 易用! 不给别人使用! 说明: 集成Composer组件; 集成Redis, Mongodb, Mysql, Ya...

Len ⋅ 04/13 ⋅ 0

写一个“特殊”的查询构造器 - (八、单元测试、收尾工作)

debug 模式 对查询构造器进行调试并不难,从其构造 SQL -> 数据绑定 -> SQL 执行的过程中就能发现,要方便调试,只要可以观察以下信息: 构造的 SQL 绑定的数据 PDO 提供了一个方便的 debug ...

MrQ被抢注了 ⋅ 05/24 ⋅ 0

Laravel 5.6 为命令行错误报告添加了 collision 包

由 nunomaduro 创建和维护的 是PHP命令行应用程序的错误处理程序包。从Laravel 5.6开始,应用程序将包含 Collision 软件包的 composer 依赖。 当通过命令行或CLI与Laravel应用程序进行交互时...

如来神掌 ⋅ 04/28 ⋅ 0

使用Node自动化PHPUnit

准备你的项目 第一步是准备你的项目。我这里使用Composer来运行我的测试和CS检查,因为这可以让改变我以后要使用的内容,同时也允许我标准化工具的调用。我在composer.json中定义了以下脚本:...

含笑666 ⋅ 06/05 ⋅ 0

推荐!国外程序员整理的 PHP 资源大全

推荐!国外程序员整理的 PHP 资源大全 2014/08/02 · PHP, 工具与资源 · 8.5K 阅读 · 1 评论 · php 分享到:0 与《YII框架》不得不说的故事—安全篇 R语言入门 HTML5离线应用实战演练 JS...

thinkyoung ⋅ 2015/08/04 ⋅ 0

java中字节流输入流往字符写入流里写数据有隐患吗? 或者字符流读取流往字节输出流写数据;

java中字节流输入流往字符写入流里写数据有隐患吗? 或者字符流读取流往字节输出流写数据;

CielSwift ⋅ 02/01 ⋅ 0

写一个“特殊”的查询构造器 - (一、程序结构,基础封装)

程序的结构 本篇开始,正式进入编码实践中。首先,简单的规划下程序的结构。 如上一篇所说的,我们需要一个基类 PDODriver 用来封装 PDO 的一些公用的方法,Mysql 等每个数据库都新建一个类 ...

MrQ被抢注了 ⋅ 05/11 ⋅ 0

Phake v2.3.0 发布,PHP 单元测试框架

Phake v2.3.0 发布了。Phake 和其他 PHP 模拟框架(PHPUnit,PHPMock 等)最主要的不同之处是 Phake会使用一个验证策略来确保调用。也就是说,你正常调用代码的时候你就完成代码的测试,确定...

oschina ⋅ 2016/04/02 ⋅ 4

在PHP中使用Mockery进行测试驱动开发(TDD) - 上

测试驱动开发网上也谈了很多了,PHP方面的文章也有一些,在百度和Google里搜,好像没有看到几篇谈用Mock(伪装对象)的技术的,这里写篇文章讲讲。 先过一下测试驱动开发的基本理念:就是先写...

Michaelyn ⋅ 2015/05/29 ⋅ 0

PHPUnit单元测试模拟与桩

PHPUnit单元测试模拟与桩 创建测试用例 模拟与桩 单元测试的目标是尽可能不受外部环境影响 我们可以使用setUp()和tearDown()方法来管理测试装置,测试装置就是一组提供测试使用的公共资源,可...

liangwt ⋅ 2016/08/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

开启远程SSH

SSH默认没有开启账号密码登陆,需要再配置表中修改: vim /etc/ssh/sshd_configPermitRootLogin yes #是否可以使用root账户登陆PasswordAuthentication yes #是都开启密码登陆ser...

Kefy ⋅ 18分钟前 ⋅ 0

Zookeeper3.4.11+Hadoop2.7.6+Hbase2.0.0搭建分布式集群

有段时间没更新博客了,趁着最近有点时间,来完成之前关于集群部署方面的知识。今天主要讲一讲Zookeeper+Hadoop+Hbase分布式集群的搭建,在我前几篇的集群搭建的博客中已经分别讲过了Zookeep...

海岸线的曙光 ⋅ 26分钟前 ⋅ 0

js保留两位小数方法总结

本文是小编针对js保留两位小数这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容: 一、我们首先从经典的“四舍五入”算法讲起 1、四舍五入的情况...

孟飞阳 ⋅ 44分钟前 ⋅ 0

python log

python log 处理方式 log_demo.py: 日志代码。 #! /usr/bin/env python# -*- coding: utf-8 -*-# __author__ = "Q1mi""""logging配置"""import osimport logging.config# 定义三种......

inidcard ⋅ 59分钟前 ⋅ 0

mysql 中的信息数据库以及 shell 查询 sql

Information_schema 是 MySQL 自带的信息数据库,里面的“表”保存着服务器当前的实时信息。它提供了访问数据库元数据的方式。 什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,...

blackfoxya ⋅ 今天 ⋅ 0

maven配置阿里云镜像享受飞的感觉

1.在maven目录下的conf/setting.xml中找到mirrors添加如下内容,对所有使用改maven打包的项目生效。 <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.al......

kalnkaya ⋅ 今天 ⋅ 0

centos7下创建新用户并授权

1、创建新用户 创建一个用户名为:test adduser test 创建初始密码: passwd test 2、授予root权限 个人用户的权限只可以在/home/test下有完整权限,其他目录要看别人授权。而经常需要roo...

xixingzhe ⋅ 今天 ⋅ 0

求助:TiledMap如何旋转对象呢?

比如我要旋转一个梯子的角度,单纯在TiledMap旋转角度好像没有效果。那是要用代码来控制角度,还是说只能通过导入相对应的斜的图片才可以呢?

花谢自相惜 ⋅ 今天 ⋅ 0

Micronaut 之HelloWorld!

小试一下Micronaut,按照官方文档跑了一下helloworld 第一步克隆,按照官方文档是: git clone git@github.com:micronaut-projects/micronaut-core.git 结果怎么是这样?? 换个方法吧 git ...

桂哥 ⋅ 今天 ⋅ 0

pom文件

Aeroever ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部