使用CodeIgniter进行自动单元测试

时间:2011-02-03 07:12:04

标签: php unit-testing codeigniter

使用CodeIgniter的任何人都使用自动单元测试吗?

似乎CodeIgniter的人做单元测试的方式需要有一个在浏览器中运行的控制器,

e.g。

  1. http://codeigniter.com/user_guide/libraries/unit_testing.html
  2. 或者:http://jensroland.com/projects/toast/
  3. 但是,我只想从命令行进行测试,我想要自动化测试和构建。

    任何建议?

    感谢。

2 个答案:

答案 0 :(得分:4)

您可以将此集成与phpunit - http://www.foostack.com/foostack/

结合使用

然后它将从命令行运行。

答案 1 :(得分:3)

这就是我的所作所为:

  • 下载Test.php
  • 在我的CI应用程序的根目录下创建一个't'目录
  • 将Test.php放入t目录
  • 创建一个bootstrap.php文件(见下文)以初始化测试
  • require_once我的测试中的bootstrap.php文件。
  • 对t目录中的测试运行prove

bootstrap.php

<?php

// Initialize CodeIgniter, suppressing output.
ob_start();
require_once __DIR__ . '/../index.php';
ob_end_clean();

require_once __DIR__ . '/Test.php';

测试的一个例子:

t/000-sanity.t

#!/usr/bin/env php
<?php

require_once 'bootstrap.php';

plan(1);

is(true, true, 'Test.php works');

所有CodeIgniter都可用。例如,您可以执行$ci =& get_instance();

此设置在CI 1.7.x和2.x中运行良好。 Test.php也很容易使用。

相关问题