mockery

class UserController extends BaseController {

    public function __construct(UserRepositoryInterface $users)
    {
        $this->users = $users;
    }

    public function index()
    {
        $users = $this->users->all();
        return View::make(‘user.index‘, compact(‘users‘));
    }

}

class UserControllerTest extends TestCase
{

    public function testIndex()
    {
        $repository = m::mock(‘UserRepositoryInterface‘);
        $repository->shouldReceive(‘all‘)->andReturn(new Collection(array(new User, new User)));
        App::instance(‘UserRepositoryInterface‘, $repository);

        $this->call(‘GET‘, ‘users‘);
    }

}
时间: 2024-10-12 16:14:09

mockery的相关文章

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

测试驱动开发网上也谈了很多了,PHP方面的文章也有一些,在百度和Google里搜,好像没有看到几篇谈用Mock(伪装对象)的技术的,这里写篇文章讲讲. 先过一下测试驱动开发的基本理念:就是先写测试用例(一般这个测试用例都是自动化的单元测试用例,便于快速回滚执行),然后通过逐步修复测试用例的方法补齐产品代码,最后测试用例修复完毕后,产品也就写完了. 从我自己的实践中,我认为在类库开发的时候使用测试驱动开发技术是一个很好的方案,理由如下: 能够写出测试用例,即说明对问题域已经有一个清晰的了解, 节省

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

iadoz 在 Github 发起维护的一个 PHP 资源列表,内容包括:库.框架.模板.安全.代码分析.日志.第三方库.配置工具.Web 工具.书籍.电子书.经典博文等等. 依赖管理 依赖和包管理库 Composer/Packagist:一个包和依赖管理器 Composer Installers:一个多框架Composer库安装器 Pickle:一个PHP扩展安装器 其他的依赖管理 其他的相关依赖管理 Satis:一个静态Composer存储库生成器 Composition:一个在运行时检查C

词组习语3057组

superword是一个Java实现的英文单词分析软件,主要研究英语单词音近形似转化规律.前缀后缀规律.词之间的相似性规律等等. 1 Anointing of the Sick British English 2 Civvy Street Clerk of the Closet 3 I mean I must say 4 I suppose so I will thank you to do something 5 Incoming mail server Lithium battery 6 M

Jmock-使用ClassImposteriser扩展mock class对象

由于Jmock使用了java的标准反射机制,jmock框架默认配置只能mock interface对象,而不能mock class对象.但是使用CGLIB 2.1以及Objenesis库,采用ClassImposteriser扩展不仅能够mock interface对象,而且能够mock class对象. ClassImposteriser扩展使用方法介绍及实例说明 ClassImposteriser mock实例对象的时候,不会调用被mock的class的构造函数,因此拥有具有多个参数或者需要

php Composer中国全量镜像

http://pkg.phpcomposer.com/ http://www.yiichina.com/doc/guide/2.0/intro-upgrade-from-v1 https://getcomposer.org/doc/01-basic-usage.md Packagist 镜像 请各位使用本镜像的同学注意: 本镜像已经依照 composer 官方的数据源安全策略完全升级并支持 https 协议!请各位同学 按照下面所示的两个方法将 http://packagist.phpcompo

【PHP开发】国外程序员收集整理的 PHP 资源大全

依赖管理 依赖和包管理库 Composer/Packagist:一个包和依赖管理器 Composer Installers:一个多框架Composer库安装器 Pickle:一个PHP扩展安装器 其他的依赖管理 其他的相关依赖管理 Satis:一个静态Composer存储库生成器 Composition:一个在运行时检查Composer环境的库 Version:语义版本的解析和比较库 NameSpacer -转化下划线到命名空间的库 Patch Installer -使用Composer安装补丁

JMock2入门

说明:学习JMock官网的Getting Started的笔记 例子:为测试publish/subscribe发布/订阅信息系统的publisher(发布者),mock subscriber(订阅者)对象 接口subscriber如下: interface Subsciber { void receive(String message); } 1. 引用Jar包 必须包: jmock-2.6.1.jar, hamcrest-core-1.3.jar, hamcrest-library-1.3.j

php之道

PHP The Right Way. Tweet 欢迎 目前网络上充斥着大量的过时资讯,让 PHP 新手误入歧途,并且传播着错误的实践以及不安全的代码.PHP 之道 收集了现有的 PHP 最佳实践.编码规范和权威学习指南,方便 PHP 开发者阅读和查找 使用 PHP 沒有规范化的方式.本网站主要是向 PHP 新手介绍一些他们没有发现或者是太晚发现的主题, 或是经验丰富的专业人士已经实践已久的做法提供一些新想法.本网站也不会告诉您应该使用什么样的工具,而是提供多种选择的建议,并尽可能地说明方法及用

composer安装学习

Packagist 镜像 网站地址 http://www.phpcomposer.com/ 请各位使用本镜像的同学注意: 本镜像已经依照 composer 官方的数据源安全策略完全升级并支持 https 协议!请各位同学 按照下面所示的两个方法将 http://packagist.phpcomposer.com 修改为https://packagist.phpcomposer.com 还没安装 composer 吗?请往下看如何安装 composer . 用法: 有两种方式启用本镜像服务: 系统