2016-09-05 5 views
0

私のZend Frameworkモジュールでは、ブラウザまたはREST経由でアクセスできることを考慮してください。私はRESTを経由して404を得たとき、これはコンテンツです:ZF2で404 json応答をテストする方法

{"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'); 
} 

をしかし、私は、この他のケースを行う方法がわかりません。私はこの$response = $this->getResponse();をすれば

public function testIndexActionCanBeAccessed() 
{ 
    $this->dispatch('/ws/asd'); 
    $this->assertResponseStatusCode(404); // this is OK 
    // but how check the json response? 
} 

はまた、私は私が欲しいものではありません全体のHTML 404 htmlファイルを、得ました。

+0

あなたがテストしようとしていることは明確ではありません。 404応答のテストは正常に動作します。すなわち、 '$ this-> assertResponseStatusCode(404);'。 '$ this-> getResponse()'を使ってJsonの応答に対してテストすることができますが、それはあなたが望むものではないと言いました。 –

答えて

0

コントローラーが実際にJSON応答を返すことを確認することができます。

また、AJAXリクエストのAcceptヘッダーにapplication/jsonを指定する必要があります。

関連する問題