Unit testing CakePHP控制器测试:模拟模型和测试方法
我是CakePHP单元测试的初学者。我的CakePHP版本是2.5.2,我使用的是cake测试套件2.5.2。我想做控制器测试。我已经尝试了食谱中给出的所有方法。我认为这对于烹饪书中给出的例子来说太复杂了。我已经为我的申请定制了路线。我可以调用如下所示的方法:Unit testing CakePHP控制器测试:模拟模型和测试方法,unit-testing,cakephp,cakephp-2.5,Unit Testing,Cakephp,Cakephp 2.5,我是CakePHP单元测试的初学者。我的CakePHP版本是2.5.2,我使用的是cake测试套件2.5.2。我想做控制器测试。我已经尝试了食谱中给出的所有方法。我认为这对于烹饪书中给出的例子来说太复杂了。我已经为我的申请定制了路线。我可以调用如下所示的方法: 这是我的控制器中最简单的方法。我如何开始测试这个方法,我需要什么样的模拟 public function index() { if (!$this->request->is('Get')) { thro
这是我的控制器中最简单的方法。我如何开始测试这个方法,我需要什么样的模拟
public function index() {
if (!$this->request->is('Get')) {
throw new MethodNotAllowedException(__('HTTP request Method Not allowed..'));
}
$networks = $this->Network->UserNetwork->getNetworks($this->current_user);
$returnObject = array('message' => 'Networks found successfully',
'data' => $networks
);
return $this->_sendResponse($returnObject, 200);
}
到目前为止,我尝试的是:
<?php
App::uses('NetworksController', 'Controller');
class NetworksControllerTestCase extends ControllerTestCase {
public $fixtures = array(
'app.network',
);
public function setUp() {
parent::setUp(); // TODO: Change the autogenerated stub
$this->Network = $this->generate('Networks',
array('models' => array('network','usernetwork' => array('getNetworks'))));
}
public function testIndex() {
$result = $this->testAction('/api/v1/networks/index', array('return' => 'vars'));
debug($result);
}}
请标记您正在使用的CakePHP版本,并显示您实际尝试了什么。我已经编辑了问题,我还想让您知道我的应用程序使用身份验证令牌来验证用户身份。我应该绕过身份验证过程还是模拟它?