Now a days, my default choice of framework is always Zend Framework. However, I have to maintain a couple live projects in CodeIgniter from early days. I feel its very important to have tests around critical applications, so I have attempted a couple times to integrate PHPUnit with CodeIgniter but failed every time – well, until now.
I’ve managed it this time with hooks. It provides a clean way of bootstrapping the framework and then performing tests on the Model layer – for me testing the model layer has been sufficient. The use is very simple as it does not require any change in how a regular CodeIgniter application is built.
Grab the code from github.
Example – /tests/PostTest.php
class PostTest extends PHPUnit_Framework_TestCase
public function setUp()
$this->CI = &get_instance();
public function testGetsAllPosts()
$posts = $this->CI->post->getAll();