codeigniter单元测试查询

时间:2014-03-22 16:51:11

标签: php codeigniter unit-testing

我是codeIgniter和unit test的新手,我想测试这个返回多维数组数组的查询

    public function get_ficheFrais($selected_visiteur_np) {

    $query = $this->db->select('ff.mois')
            ->from('fichefrais ff')
            ->join('utilisateur u', 'u.id = ff.idVisiteur', 'inner')
            ->where('ff.idVisiteur', $selected_visiteur_np)
            ->where('ff.idEtat', 'VA')
            ->get();

    return $query->result();
}

这是查询的var_dump:

array (size=1)
0 => 
object(stdClass)[42]
  public 'mois' => string '201211' (length=6)    

但是我无法找到如何在测试功能中编写它。我试过这个:

    $this->visiteur_model->get_ficheFrais('a131');
    $data['ficheFrais'] = $this->visiteur_model->get_ficheFrais('a55');

    $this->unit->run($data['ficheFrais'], (array ('mois'=>'201211')), "testing get_ficheFrais function");
    $this->load->view('visiteur/v_tests');

任何人都可以帮助或有更好的解决方案来测试返回数组的查询吗?

1 个答案:

答案 0 :(得分:0)

我认为你出错了是你期望你的get_ficheFrais函数返回一个数组,但实际上它返回了一个对象。如果您希望它返回一个数组,您想从

更改它
return $query->result();

return $query->result_array();

因此,请记住,在您想要将单元测试更改为

时,它会返回一个对象
$this->unit->run($data['ficheFrais']->mois, 201211, "testing get_ficheFrais function");