Skip to content

CodeIgniter with integrated libraries to facilitate unit-testing with phpUnit

License

Notifications You must be signed in to change notification settings

kagux/CodeIgniter-2-Unit-Testing-Edition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

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.



About

CodeIgniter with integrated libraries to facilitate unit-testing with phpUnit

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages