Book Image

CakePHP 2 Application Cookbook - Third Edition

Book Image

CakePHP 2 Application Cookbook - Third Edition

Overview of this book

If you are a CakePHP developer looking to ease the burden of development, then this book is for you. As a headfirst dive into the framework, this collection of recipes will help you get the most out of CakePHP, and get your applications baked in no time. Even if you're not familiar with the framework, we'll take you from basic CRUD building to useful solutions that will aid in getting the job done quickly and efficiently.
Table of Contents (14 chapters)
13
Index

Mock objects


Once you've used dependency injection to ensure you're only testing the code contained in your target object and don't test (again) the code from external dependencies, you can create and configure mock objects to replace a real object with a test double.

Test doubles are objects that behave exactly the same as other objects, but allow you to configure their methods to return any desired value (or simply return null), so you don't need to worry about their internal logic. You only need to define by contract the public interface of the double test object, the input method parameters, and their expected output results. You could even configure the behavior of the mock object to allow methods to call the original logic, while the rest of the methods return null by default.

Getting ready

For this recipe we'll first need to create a Blog model in a file named app/Model/Blog.php, with the following content:

<?php
App::uses('AppModel', 'Model');

class Blog extends AppModel {
}

We'll...