Reasons:
- Codeigniter's components are tightly coupled. You need some big basic parts running (the loader, the router, the CFG object) before you can use any other pieces.
- Codeigniter is not designed to run from a CLI. It has a great deal of bootstrapping code in its index.php front-controller, and it assumes a web server environment.
You do not absolutely require CIUNIT to unit-test CI. But you will have to do something. In my case, I wrote an alternative front controller to index.php which just loads the minimum necessary to get a CI superobject. I require_once
it at the top of my test files, and $this->CI =& get_instance()
in SetUp()
methods. If I were being an absolutely pure unit-tester, however, I should be destroying and re-creating the CI object after every test in case some state got trapped in it. I'm not sure if CIUNIT does this for you.