如果我正在通过url运行代码,则它可以正常工作(例如:http://localhost:8080/projects/emailNewProject/2008098)
但是,如果我尝试通过http://localhost:8080/test.php?show=cases&app=true访问它 它抛出错误:模型客户缺少数据库表
我尝试使用以下命令更改控制器中的数据源:
Configure::write('currentDataSource', 'testdb');
$dataSource = Configure::read('currentDataSource');
$this->setDataSource($dataSource);
它仍然不影响!!
class ProjectsControllerTest extends CakeTestCase{
function testEmailNewProject()
{
$id = 2008098;
$result = $this->testAction('/projects/emailNewProject', array('fixturize' => true, 'data' => $id, 'method' => 'post'));
debug($result);
}
}
答案 0 :(得分:0)
可能是因为您的Project模型与Customer模型相关联(hasOne,belongsTo等),而您没有Customer的固定装置。这就是告诉测试引擎要为测试数据库创建哪些数据库表的信息。
您可以在此处了解更多信息:https://book.cakephp.org/1.3/en/The-Manual/Common-Tasks-With-CakePHP/Testing.html#preparing-test-data。
如果您仍然遇到问题,请告诉我。