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

我的问题/我在想什么

似乎我错过了一些简单的东西,但我还没有足够的能力来解决这个问题。我是测试新手,所以我可能无法完全掌握控制器测试所需的所有实例化和模拟。

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

4

0 回答 0