【问题标题】:Testing a CodeIgniter 2.1 controller with PHPUnit使用 PHPUnit 测试 CodeIgniter 2.1 控制器
【发布时间】:2014-04-29 07:13:43
【问题描述】:

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

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

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

相关答案:

【问题讨论】:

    标签: codeigniter unit-testing codeigniter-2


    【解决方案1】:

    使用 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);
      }
    }
    

    【讨论】:

      【解决方案2】:

      我写了两篇关于测试 Codeigniter 单元测试和验收测试的文章。为此,我使用 PHPUnit 和 Selenium。

      以下是链接:

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

      【讨论】:

      • 我喜欢这个使用 selenium 进行验收测试的答案,谢谢!
      • 修复了损坏的网址。
      • 网址不可用!对这两篇文章都非常感兴趣
      • 抱歉,@GonzaloCao,再次修复链接。
      猜你喜欢
      • 2015-03-24
      • 2010-12-28
      • 2021-07-21
      • 2015-12-11
      • 2010-11-11
      • 2016-01-31
      • 2017-08-16
      • 2012-07-16
      • 1970-01-01
      相关资源
      最近更新 更多