我是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');
任何人都可以帮助或有更好的解决方案来测试返回数组的查询吗?
答案 0 :(得分:0)
我认为你出错了是你期望你的get_ficheFrais
函数返回一个数组,但实际上它返回了一个对象。如果您希望它返回一个数组,您想从
return $query->result();
到
return $query->result_array();
因此,请记住,在您想要将单元测试更改为
时,它会返回一个对象$this->unit->run($data['ficheFrais']->mois, 201211, "testing get_ficheFrais function");