This CodeIgniter 2.03 UnitTesting Edition. INTEGRATED LIBRARIES 1. Doctrine 2 By default, doctrine is autoloaded. console : framework\application\doctrine.php class loading config : framework\application\libraries\Doctrine.php Entities: \framework\application\models\entities, 'entities' namespace. Repositories: \framework\application\models\repositories, 'repositories' namespace. In 'testing' environment doctrine uses pdo_sqlite driver to run in-memory database. In other environments it is configured to use pdo_mysql driver. 2. Twig has its own twig.php config file to set views and cache folders CUSTOM CONTROLLER CLASS MY_Controller 1. loads Twig library into $this->view 2. _setView(Twig $view) function to mock view class 3. loadModel($modelName) function to load model into $this->model 4. _getModel(), _setModel(MY_Model $model) to mock model 5. redirectToPreviousPage() function 6. isLocalIPRequest() function 7. index function can have arguments CUSTOM MODEL CLASS MY_Model 1. $this->entityManager gives access to doctrine 2 EntityManager 2. isObjectFound($object) function for syntactic sugar to check whether it is null or not (doctrine 2 returns null when entity could not be found in DB) AUTOLOADING CUSTOM CLASSES Sometimes we need to load a class that neither belongs to entities nor libraries. Place these classes in framework\application\core\classes UNIT TESTING 1. Integrated CUnit 3rd party module 2. Integrated Hamcrest library http://code.google.com/p/hamcrest/ 3. Integrated Mockery library https://github.com/padraic/mockery Sample tests are included. Tests are located in framework\tests. Its obligatory for test files to have 'Test' postfix in their name to be executed.
kagux/CodeIgniter-2-Unit-Testing-Edition
CodeIgniter with integrated libraries to facilitate unit-testing with phpUnit
PHPNOASSERTION