使用CakePhP进行单元测试 - 无法重新声明Mock CakeRequest错误

时间:2014-10-30 08:34:55

标签: unit-testing cakephp phpunit cakephp-2.0

我正在尝试使用CakePhP 2.3和PHPUnit 3.7进行单元测试。我想测试客户控制器中的索引功能。在我的控制器中,我有:

public function index() {

$this->Customer->recursive = -1;
$data = $this->paginate('Customer', array( 'Customer.status'=>'active'));
$this->set('customers', $data);

}

我尝试按照book.cakephp.org中的示例进行操作,因此我创建了fixture类,其中我导入了Customer模式和所有记录。

class CustomerFixture  extends CakeTestFixture{

  public $import = array('model' => 'Customer', 'records' => true);

}

最后我的测试类看起来像这样:

class CustomersControllerTest extends ControllerTestCase {

   public $fixtures = array('app.customer');

   public function testIndex() {

     $result = $this->testAction('/customers/index');
     debug($result);
   }
}

我还在database.php中添加了$ test变量,这应该可以正常工作,因为在我运行测试后,我从测试数据库中的默认数据库中获取了customers表中的所有记录。

当我运行测试时,出现以下错误:

错误:无法重新声明Mock_CakeRequest_1de9f3b8 :: offsetUnset()

0 个答案:

没有答案