为什么需要CIUnit才能将PHPUnit与CodeIgniter一起使用?

Ada*_*nch 5 php phpunit unit-testing codeigniter codeigniter-2

我们决定在下一个项目中使用PHPUnit(和Jenkins一起使用).我们正在考虑不同的PHP框架,其中一个是CodeIgniter.我看到一个 很多 人用我的CIUNIT"桥"的PHPUnit和笨.在线文档中几乎没有解释.

为什么需要?

其他框架似乎不需要像这样的"酷桥".

Fra*_*ila 10

原因:

  1. Codeigniter的组件紧密耦合.在使用任何其他部件之前,您需要运行一些大的基本部件(加载器,路由器,CFG对象).
  2. Codeigniter不是设计用于从CLI运行.它在index.php前端控制器中有大量的引导代码,它假设一个Web服务器环境.

您并不一定要求 CIUNIT对CI进行单元测试.但你必须做点什么.在我的例子中,我为index.php编写了一个替代前端控制器,它只加载了获取CI超级项目所需的最小值.我require_once是在我的测试文件的顶部,$this->CI =& get_instance()SetUp()方法.但是,如果我是一个绝对纯粹的单元测试器,我应该在每次测试后销毁并重新创建CI对象,以防某些状态被困在其中.我不确定CIUNIT是否会为你做这件事.