使用 PHPUnit 测试 CodeIgniter 2.1 控制器

Kit*_*nde 4 unit-testing codeigniter codeigniter-2

我正在接管一个项目,并正在尝试为 CodeIgniter 编写一些测试,以便在命令行上通过持续集成运行,而且关于使用 CodeIgniter 进行测试的在线文档似乎很少,并且让测试为控制器运行似乎特别困难。

之前有一些答案建议使用 FooStack,但 FooStack 是我所能收集到的最好的 CodeIgniter 1.x。

我现在不是在考虑在整个站点上运行 selenium。有没有人设法用 CodeIgniter 测试控制器?

相关回答:

Kit*_*nde 5

使用 my-ciunit。

  1. 获取https://bitbucket.org/kenjis/my-ciunit的副本
  2. 安装 PHPUnit 3.7.x
  3. 运行安装说明。
  4. 大概你没有在命令行上application/config/testing.database.php命名数据库,所以去命名你的数据库_test
  5. 创建您的数据库。
  6. 转到tests文件夹并删除所有文件夹,除了controllers. 所有这些文件都是示例,显然你不会有这些装置。
  7. 您只需要SomeControllerTest.php作为起点。编辑它以点击您实际拥有的控制器。我只想添加一个基本的访问测试。
class HomepageControllerTest extends CIUnit_TestCase {
  public function setUp() {
    $this->CI = set_controller('homepage');
  }

  public function testIndexController() {
    $this->CI->index();
    $out = output();
    $this->assertNotEmpty($out);
  }
}
Run Code Online (Sandbox Code Playgroud)