2012-05-23 47 views
8

我想在水豚写一些测试,将测试日期列表排序正确。例如,我有日期列表星期三27 6月12日,星期一13 8月12日,星期四5月31日,当我点击按钮时,它将重新排列从最早的开始的日期,即: 5月31日星期四,6月27日星期三12月13日,12月12日。测试列表按正确的顺序排序水豚

水豚有什么办法可以写这样的测试。

通常我会使用像page.find等方法,但这些方法只会找到日期,而不会告诉您它们是否按照正确的顺序排序。

回答

15

您需要使用:nth-child css选择器。

比方说你的日期列表是与ID #dates一个<ul>,你可以与测试顺序:

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),则不限于传递内容。

+3

有相同的错误。上面的很好的答案,但需要使用下列之一:无效键:内容,应该是以下其中一个:text,:visible,:between,:count,:maximum,:minimum,:exact,:match,:wait – Yaron