1

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.

ここに画像の説明を入力

この問題は、手がかりとともに指摘されました。

  • 基礎となるページング ライブラリ (knp-components) は、Symfony の要求/応答システムとは独立しており、$_GET パラメーターを直接抽出します

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

4

1 に答える 1

1

そこに変数を含む絶対アドレスをテストしているようですが、コントローラーはこれを受け取りません。

おそらく knp paginator コンポーネントがソート可能な URL を生成します。knp-paginator コンポーネントを使用してテストで URL を生成するか、テストしている URL をよりよく確認してください

于 2016-10-26T14:51:56.950 に答える