CodeIgniter CLI - 将多个args传递给方法

时间:2013-03-27 03:57:50

标签: php codeigniter model command-line-interface

我正在通过CLI测试CodeIgniter项目中的一些模型,该方法有两个参数:

public function get_questions_from_block($block_name, $return_array = FALSE)

我试过这个:

php index.php test_controller get_question_block_name example_block TRUE

但它返回0或FALSE。如何通过CLI传递多个参数?我必须使用:

$_SERVER['argv'];  

获取所有参数?或者有更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用getopt()而不是$_SERVER['argv']

但是在这种情况下,我认为这不会对你有所帮助(没有大量的代码修改)。

也许您应该查看CI提供的unit-test class

在这种情况下,您可以通过在单独的单元测试文件中执行以下操作,针对您的模型运行一系列测试:

$this->load->model('test_model');
$this->unit->run(
    $this->test_model->get_questions_from_block(args),
    $expected_behavior /* what should be returned */,
    $test_name /* name your test */
);