在CAKEPHP 1.3中编写蛋糕测试用例时使用多个数据库源

时间:2019-02-18 13:22:55

标签: cakephp cakephp-1.3

如果我正在通过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);
        }
    }

1 个答案:

答案 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

如果您仍然遇到问题,请告诉我。