我想对一个控制器动作进行单元测试并且有一些问题toio执行它。 我得到的错误如下:
SQLSTATE [42000]:语法错误或访问冲突:1064您有 SQL语法错误;查看与您的手册相对应的手册 用于在'questionExists'附近使用正确语法的MySQL服务器版本 在第1行
方法:
questionExists
在问题模型中定义。
我的测试功能如下:
public function testView() {
$result = $this->testAction('/questions/questions/view/1', array('return' => 'vars'));
}
我想测试的Controller动作如下所示:
公共功能视图($ id = null){
if (!$this->Question->questionExists($id, 'id_virtual')) {
throw new NotFoundException(__('Invalid question'));
}
$options = array('conditions' => array('Question.id_virtual' => $id));
$this->set('question', $this->Question->find('first', $options));
}
所以这对我来说非常困惑。 有人能指出我正确的方向吗?
答案 0 :(得分:0)
找不到你的模型类,CakePHP动态地为该表创建一个实例,但这不过是基本的Model类。当然后调用代码时,它会尝试在应用程序中不是您的问题模型的实例上调用该方法。你必须弄清楚会发生什么。