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 分页器组件生成可排序的 url。尝试使用 knp-paginator 组件在测试中生成一个 url 或更好地检查您正在测试的 url

于 2016-10-26T14:51:56.950 回答