利用php创建test数据库,创建PHPUnit模拟模型使用默认数据库而不是CakePHP中的test...

我在Cake

PHP 2中测试一个模型并且模拟了这样的模型:

$this->User = $this->getMock('User', array(

'_saveUploadedFile',

'_removeUploadedFile',

));

$this->User->expects($this->any())

->method('_saveUploadedFile')

->with($data, Configure::read('App.myDirectory'), true);

->will($this->returnValue(true));

$this->User->expects($this->any())

->method('_removeUploadedFile')

->with($data, Configure::read('App.myDirectory'))

->will($this->returnValue(true));

由于使用数据库的任何操作都会引发以下错误:

"Database table mock__user_b6241a4cs for model User was not found."

我重新定义了模型信息:

$this->User->alias = 'User';

$this->User->useTable = 'users';

现在测试运行良好,但它使用database.php中的$default数据库而不是$test.可能发生什么?

使用模拟对象时,为什么测试的数据库配置会发生变化?是否与数据库权限相关,导致模拟对象无法创建自定义表?

谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值