考虑到在我的Zend Framework模块中,我可以通过浏览器或REST访问。当我通过REST获得404时,这就是内容:
{"httpStatus":404,"title":"Not Found"}
那么如何使用PHPUnit测试此响应?
我已经测试了另一条有效的路线:
public function testIndexActionCanBeAccessed()
{
$this->dispatch('/ws/dashboard');
$this->assertResponseStatusCode(200);
$this->assertModuleName('Ws');
$this->assertControllerName('Ws\Controller\Dashboard');
$this->assertControllerClass('DashboardController');
$this->assertMatchedRouteName('application/ws');
}
但我不知道如何处理其他情况。
public function testIndexActionCanBeAccessed()
{
$this->dispatch('/ws/asd');
$this->assertResponseStatusCode(404); // this is OK
// but how check the json response?
}
另外,如果我这样做$response = $this->getResponse();
我得到了整个HTML 404 html文件,这不是我想要的。
答案 0 :(得分:0)
您可能需要检查以确保控制器实际返回JSON响应。
此外,AJAX请求的Accept标头应指定application / json。