CakePHP控制器测试:模拟模型和测试方法

时间:2016-06-20 12:41:30

标签: unit-testing cakephp cakephp-2.5

我是CakePHP中单元测试的初学者。我的CakePHP版本是2.5.2,我使用的是蛋糕测试套件2.5.2。我想做控制器测试。我尝试过在cookbook中给出的所有方法。我认为这对于食谱中的给定示例来说是太复杂的代码。我为我的申请定制了路线。我可以通过调用http://localhost/api/v1/networks/来调用下面显示的方法 这是我控制器中最简单的方法。我该如何开始测试这种方法以及我需要什么样的模拟?

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);
    }}

0 个答案:

没有答案
相关问题