情况
我正在尝试在 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
我的问题/我在想什么
似乎我错过了一些简单的东西,但我还没有足够的能力来解决这个问题。我是测试新手,所以我可能无法完全掌握控制器测试所需的所有实例化和模拟。
我注意到错误中的“模拟”......但我没有使用任何模拟对象。我可以做?还是我什至在朝着正确的方向思考?