我正在尝试在 capybara 中编写一些测试,以测试日期列表是否正确排序。例如,我有一个日期列表,即12月12日,星期三,12月13日,星期一,5月31日,星期四,当我单击按钮时,它将重新排列最早的日期,即:12月5日,星期四,12月27日,星期三12.2012年8月13日
capybara 有什么办法可以编写这样的测试。
通常,我会使用诸如page.find等方法,但是这些方法只会找到日期,而不告诉您日期是否已按照正确的顺序排序。
最佳答案
您需要使用:nth-child
css选择器。
假设您的日期列表在ID为<ul>
的#dates
中,则可以使用以下命令测试订单:
page.should have_selector("ul#dates li:nth-child(1)", content: @date1.content)
page.should have_selector("ul#dates li:nth-child(2)", content: @date2.content)
传递给
have_selector()
的第一个值是您的选择器,第二个值(在此示例中)是您期望的内容。例如,如果每个日期都链接到Date#show
操作,则可以添加url: date_path(@date)
,则您不仅可以传递内容。关于ruby-on-rails - 测试列表以正确的顺序排列在 capybara 中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10724321/