文档章节

PHPunit mock 模拟

lianwenjun
 lianwenjun
发布于 2015/04/18 00:31
字数 201
阅读 15
收藏 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
深圳
在PHP中使用Mockery进行测试驱动开发(TDD) - 上

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

Michaelyn
2015/05/29
0
0
ubuntu下安装phpunit

错误信息: Call to undefined method PHPCodeCoverageFilter::getInstance() 第一种: If you have problems with accessing components try another way. Install pear sudo apt - get in......

wufa
2012/08/07
0
0
在Mac OS X上的XAMPP上安装PHPUnit

cd /Applications/XAMPP/xamppfiles/bin sudo ./pear config-set auto_discover 1 sudo ./pear install pear.phpunit.de/PHP_CodeCoverage 会提示 xdebug 版本太低 ,因此需要首先升级Mac O......

chinaphp
2013/01/19
0
0
Windows下安装PHPUnit详解

Windows下安装PHPUnit详解 最近研究php的单元测试功能,在centos下和widows下安装了phpunit 首先要保证你装的php中安装了pear linux下输入命令pear 回车可看一下是否安装了 windows下可以用d...

peasant
2013/12/14
0
0
处理XAMPP环境下执行ZF命令时的报错

【错误提示】: An Error Has Occurred A project profile was not found. 【错误原因】:xampp里的phpunit版本不匹配,重新安装即可 【解决步骤】: 1、在win7下需要以管理员身份运行cmd.e...

weber_hyx
2013/04/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
今天
0
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
5
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
4
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
31
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部