使用PHPUnit测试CodeIgniter 2.1控制器

使用PHPUnit测试CodeIgniter 2.1控制器,codeigniter,unit-testing,codeigniter-2,Codeigniter,Unit Testing,Codeigniter 2,我正在接管一个项目,并试图为CodeIgniter编写一些测试,以便在命令行上通过持续集成运行,而关于使用CodeIgniter进行测试的在线文档似乎很少,让控制器运行测试似乎特别困难 之前有一些答案建议使用FooStack,但FooStack是CodeIgniter 1.x的最佳选择 我现在不是在考虑在整个站点上运行selenium。有人用CodeIgniter测试过控制器吗 有关答案: 使用我的CIU。 拿一份 安装PHPUnit 3.7.x 运行安装说明 大概您没有在命令行上命名数据库

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

之前有一些答案建议使用FooStack,但FooStack是CodeIgniter 1.x的最佳选择

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

有关答案:

使用我的CIU。
  • 拿一份
  • 安装PHPUnit 3.7.x
  • 运行安装说明
  • 大概您没有在命令行上命名数据库,所以请转到
    application/config/testing.database.php
    并使用
    \u test
    命名数据库
  • 创建数据库
  • 转到
    测试
    文件夹,删除除
    控制器
    以外的所有文件夹。所有这些文件都是示例,显然您不会有这些装置
  • 您只需要将
    SomeControllerTest.php
    作为起点。编辑它以点击您实际拥有的控制器。我只想添加一个基本的访问测试

  • 我写了两篇关于测试Codeigniter的文章,包括单元测试和验收测试。我使用PHPUnit和硒

    以下是链接:

    • 单元测试:
    • 验收试验(硒):

    我打算写一篇关于测试的文章(使用测试理论),但我的前两篇文章应该会有所帮助

    我喜欢这个使用selenium进行验收测试的答案,谢谢!修复了损坏的URL。URL不可用!由于这两篇文章都非常不耐烦,@GonzaloCao再次修复了链接。
    class HomepageControllerTest extends CIUnit_TestCase {
      public function setUp() {
        $this->CI = set_controller('homepage');
      }
    
      public function testIndexController() {
        $this->CI->index();
        $out = output();
        $this->assertNotEmpty($out);
      }
    }