簡體   English   中英

Symfony2 FOS RestBundle測試

[英]Symfony2 FOS RestBundle Test

我正在嘗試為使用FOS Rest Bundle創建的REST API編寫一些功能測試。 問題是,當我使用Symfony \\ Component \\ BrowserKit時,symfony會拋出以下錯誤:

我運行的代碼是:

$client = static::createClient();
$client->request('GET','/account');

當我從瀏覽器運行請求時,它工作正常。

這是控制器:

/**
 * Get channel by ID
 * @Secure(roles="ROLE_USER")
 * @RestView()
 * @ApiDoc(
 *  resource=true,
 *  description="Get channel by id",
 *  section="Channel",
 *  output="Channel"
 * )
 */
public function getAction(Channel $channel)
{
    return array('channel' => $channel);
}

因此,在測試場景中,而不是返回JSON嘗試加載模板。

您應該使用$client-request()方法的$server參數將Accept標頭設置為application/json FOSRestBundle只有在收到相應的Accept標頭時才會返回JSON ,否則它將搜索與控制器對應的模板。

$client->request('GET', '/account', array(), array(), array('HTTP_ACCEPT' => 'application/json'));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM