AbstractHttpControllerTestCase测试AbstractRestfulController

时间:2014-03-25 09:10:14

标签: rest zend-framework2 phpunit

我遇到AbstractRestfulController单元测试时遇到问题。我正在尝试测试后期行动。我正在使用AbstractHttpControllerTestCase来测试我的控制器。使用getList操作一切正常。我正在使用$this->dispatch('/api/login');来调用它。但后来我试图用

测试创建动作
$data = array('ip' => true);
$this->dispatch('/api/login', 'POST', $data);

我收到路线无匹配错误。我究竟做错了什么?我能测试PUT和DELETE动作吗?

也许我应该使用不同的技术对restful API进行单元测试?

1 个答案:

答案 0 :(得分:0)

查看这个项目,它帮助我意识到我正在为我自己的基于Zend Framework 2的Restful Controller做错设置:

https://github.com/RichardKnop/zend-v2-skeleton

关于POST问题,请检查此特定来源:

~zend-v2-skeleton/tests/module/Api/src/Api/Controller/ResourceControllerTest.php

public function testCreateHttpStatusCode()
{
    $this->_request->setMethod(Request::METHOD_POST);
    $this->_controller->dispatch($this->_request, $this->_response);
    $this->assertEquals(201, $this->_response->getStatusCode());
}