5

我们决定在下一个项目中使用 PHPUnit(与 Jenkins 一起)。我们正在考虑不同的 PHP 框架,其中之一是 CodeIgniter。我看到很多 使用My CIUNIT“桥接” PHPUnit 和 Codeigniter 。在线文档中几乎没有解释。

为什么需要它?

其他框架似乎不需要像这样的“酷桥”

4

1 回答 1

10

原因:

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

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

于 2012-07-05T13:57:28.873 回答