使用TestAction()测试CakePHP控制器 - 间接Mod错误?

时间:2013-11-05 20:07:39

标签: unit-testing cakephp phpunit cakephp-2.0

情况

我正在尝试在CakePHP2.x应用程序中启动控制器单元测试。我正在引用文档,但仍然使用testAction方法出错,并且不明白为什么或要做什么。

控制器代码:

App::uses('AppController', 'Controller');

 class BranchLicenseApplicationsController extends AppController {
    public $components = array('Session', 'Cookie', 'EntityManager');

    public function index() {
    $this->BranchLicenseApplication->recursive = 0;
    $this->set('branchLicenseApplications', $this->paginate());
     }


}

测试代码:

class BranchLicenseApplicationsControllerTest extends ControllerTestCase {

public $fixtures = array(
    'app.branch_license_application', 'app.ref_access_map'
);


 public function testIndex() {
    $this->testAction('/branchlicenseapplications/index');

 }

 }

输出

 1) BranchLicenseApplicationsControllerTest::testIndex
 Indirect modification of overloaded property
 Mock_BranchlicenseapplicationsController_869bb477::$BranchLicenseApplication 
 has no effect

我的问题/我在想什么

似乎我错过了一些简单的东西,但我还没有弄清楚这一点。我是新手测试所以我可能没有完全掌握所有的实例和&需要进行控制器测试的模拟。

我注意到错误中的“模拟”......但我没有使用任何模拟对象。我可以做?或者我是否正在朝着正确的方向思考?

0 个答案:

没有答案