有时我在测试时遇到问题。测试已执行,我什至可以获得操作的结果,但测试没有显示绿色或红色消息,告诉我测试是否成功运行。(28/28 测试方法完成:28 次通过,0 次失败,95 次断言和 0 次异常......),时间,峰值内存......等。
例如。只有当我尝试执行此测试时它才会崩溃:
public function testGetHotVideo() {
$result = $this->testAction("/posts/getHotVideo/");
$this->assertEquals($result, 'GoG_Tv5G17M');
}
它调用这个方法:
public function getHotVideo(){
$video = $this->Post->getHotVideo();
return $video[0][0]['video'];
}
它会正确返回视频字符串。所以它甚至可以打印在测试变量 $result 上。
这里发生了什么?
更新
我还注意到,当我调用重定向到某个视图的方法时,它也会发生同样的情况。在这种情况下,使用 Cake Bake 创建的默认删除:
public function delete($id = null){
$this->Comment->id = $id;
if (!$this->Comment->exists()) {
throw new NotFoundException(__('Invalid comment'));
}
if ($this->Comment->delete()) {
$this->Session->setFlash(__('Comment deleted'));
return $this->redirect(array('controller' => 'posts', 'action' => 'index'));
}
$this->Session->setFlash(__('Comment was not deleted'));
return $this->redirect(array('controller' => 'posts', 'action' => 'index'));
}