我遇到AbstractRestfulController
单元测试时遇到问题。我正在尝试测试后期行动。我正在使用AbstractHttpControllerTestCase
来测试我的控制器。使用getList操作一切正常。我正在使用$this->dispatch('/api/login');
来调用它。但后来我试图用
$data = array('ip' => true);
$this->dispatch('/api/login', 'POST', $data);
我收到路线无匹配错误。我究竟做错了什么?我能测试PUT和DELETE动作吗?
也许我应该使用不同的技术对restful API进行单元测试?
答案 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());
}