2016-10-26 14 views
1

knp_pagination_sortable()を使って機能テストサイトを作成する方法は?knp_pagination_sortable()で機能テストサイトを作成する方法は?

<th>{{ knp_pagination_sortable(foo) }}</th> 

ブラウザでは、同じURLが機能テストとは異なる内容を持っています。

$crawler = $client->request('GET', '/ksiazka/?sort=a.wydawnictwo&direction=asc&page=1'); 
$this->assertGreaterThan(1, $crawler->filter('a:contains("ill")')->count()); 
//Failed asserting that 1 is greater than 1. 

enter image description here

も手掛かりとthereを指摘された問題:

  • ページングライブラリ(KNP-コンポーネント)はsymfonyのリクエスト/レスポンス方式と抽出に独立しており、基礎となります$ _GETパラメータ 直接

  • Symfonyの機能テストは実際には実際のHTTPリクエストを作成していません。単純にリクエストオブジェクトを作成し、 をアプリケーションに渡すだけです。

+0

同じフィクスチャは?リクエストの内容をダンプし、ハイライトされたデータを確認してください – Matteo

+0

解は解決されません。それを残す。メインポストを引用で編集しました。 – user6827096

答えて

1

あなたがそこに変数を絶対アドレスをテストしていると、コントローラは、このいずれかを受けていないようです。

おそらく、knpページ生成コンポーネントはソート可能なURLを生成します。テスト中にknp-paginatorコンポーネントを使ってURLを生成するか、テストしているURLをよく確認してみてください。

+0

..また私は間違いをコントローラがクエリパラメータ(コントローラよりも考える必要がありました{slugs_in_route_annotation})を受け取っていないと言っていますが、コントローラのRequest引数で受け取ります。 (私のコメントを無視する、私は大声で考えている、すぐにコメントを削除します) – user6827096

関連する問題