ruby-on-rails – 用黄瓜测试分页特征
发布时间:2020-12-17 01:52:02 所属栏目:百科 来源:网络整理
导读:我正在学习和喜欢黄瓜,现在有一个功能我不确定通过BDD继续进行的最佳方式:分页.我有一些场景(在我看来),其中有零页面,一页,几页等,并且我想确定某些页面上的某些记录,确保“下一步”按钮不是链接时最后一页等 我将使用will_paginate,所以基本上我想弄清楚如
我正在学习和喜欢黄瓜,现在有一个功能我不确定通过BDD继续进行的最佳方式:分页.我有一些场景(在我看来),其中有零页面,一页,几页等,并且我想确定某些页面上的某些记录,确保“下一步”按钮不是链接时最后一页等
我将使用will_paginate,所以基本上我想弄清楚如何将BDD的功能用于特定的项目列表,例如书籍. 我相信我可以搞砸它,但我觉得这应该是常见的,并希望看到别人做了什么.任何人都可以推荐一篇文章,或者指出一些示例代码,甚至可以自己一个例子? 解决方法
您可能可以使用
scenario outlines来保持重复在您的功能文件中,但请注意它将扩展到大量实际运行的场景,因此它会比您预期的要慢.这样的事情应该可行,假设每页5本书.我将把步骤定义作为练习,但它们应该非常简单.
我还应该提一下,我实际上并没有运行它,因此请考虑任何语法错误. Feature: Book Browsing Pagination Scenario: No results Given I have 0 books When I view all books Then I should see "No results" on the page Scenario: Some results Given I have 3 books When I view all books Then I should see "Book 1" And I should see "Book 2" And I should see "Book 3" Scenario: Page links Given I have <count> books When I view all books from page <page> Then I should see a link to page <target page> Examples: | count | page | target page | | 8 | 1 | 2 | | 8 | 2 | 1 | | 13 | 1 | 2 | | 13 | 1 | 3 | | 13 | 2 | 1 | | 13 | 2 | 3 | | 13 | 3 | 1 | | 13 | 3 | 2 | Scenario: Page links for current page Given I have <count> books When I view all books from page <page> Then I should see a disabled pagination link to page <page> Examples: | count | page | | 8 | 1 | | 8 | 2 | | 13 | 1 | | 13 | 2 | | 13 | 3 | Scenario: Next Page links Given I have <count> books When I view all books from page <page> Then I should see a link "Next Page" When I click "Next Page" Then I should be on page <next page> # assert against query params maybe? # alternately,to keep page requests down,one could use something like: # Then I should see a link "Next Page" going to "?p=<next page>" Examples: | count | page | next page | | 8 | 1 | 2 | | 13 | 1 | 2 | | 13 | 2 | 3 | Scenario: Next Page links on last page Given I have <count> books When I view all books from page <page> Then I should see a disabled pagination link "Next Page" Examples: | count | page | | 8 | 2 | | 13 | 3 | 类似的方案可用于检查上一个/第一个/最后一个的链接状态,并且您可以添加一些后续点击页面链接方案,类似于下一页方案正在执行的操作(如果需要).您可能还想添加额外的示例以检查您的分页是否正好为5,因为我选择的示例也会通过,如果分页是每页6.取决于您检查分页功能的确切目标. 如果你最终决定使用will_paginate以外的东西,那么你需要考虑改变的唯一事情可能是一些步骤(比如禁用的分页步骤). 当你提到要求链接时,这也可能是一个很好的博客文章;) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |