如何使用分页对网格进行单元测试

发布于 2024-07-09 01:07:12 字数 381 浏览 9 评论 0原文

常见的 Web UI 设计是通过分页显示可排序的网格(GridView、ListView、DataGrid)。 也就是说,用户可以单击任何列标题以使记录按该列数据的升序或降序排序。 而且,用户可以一次在 10 条记录的页面之间导航。

  • 可能有数百万个数据库 可能的记录 显示在网格上。
  • 有很多可能的过滤器 可以应用于数据 选择。 显示的记录 可能适用于当前用户,或者 到一个日期范围,或到一个客户, 部门、产品、订单。
  • 用户可以对显示的内容进行排序 任何列上的记录,他们可以 在页面之间导航。

您将如何编写单元测试来确认所选记录对于此过滤器、此页面和此排序顺序是正确的记录?

A common web UI design is to display a sortable grid (GridView, ListView, DataGrid) with paging. That is, the user can click on any column header to cause the records to be sorted in ascending or descending order on that column's data. And, the user can navigate among the pages of, say, 10 records at a time.

  • There may be millions of database
    records that could potentially be
    displayed on the grid.
  • There are many possible filters that
    could be applied to the data
    selection. The displayed records
    might apply to the current user, or
    to a date range, or to a customer,
    department, product, order.
  • The user can sort the displayed
    records on any column, and they can
    navigate among pages.

How would you write a unit test(s) to confirm that the selected records are the correct records, for this filter, this page, and this sort order?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寒尘 2024-07-16 01:07:12

您必须将

  • 过滤、排序与实际源解耦,以便可以模拟数据源
    并测试逻辑是否返回正确的记录。
  • 将分页逻辑与网格分离,以便您可以测试分页是否返回正确的索引。

这样您就可以在单独的单元中测试过滤和分页逻辑。

接下来,您还可以使用自动网络测试来测试完整的内容(集成测试)。

You will have to

  • decouple the filtering, sorting from the actual source so that you can mock the datasource
    and test if the logic returns the correct records.
  • decouple the paging logic from the grid so that you can test if the paging gives the right indexes back.

That way you can test the filtering and the paging logic in separate units.

Next you could also use a automatic webtest to test the complete stuff (integration test).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文