2011-07-22 30 views
2

鑑於我有一個頁面有10個用戶列表, 我如何測試我有10個用戶顯示鏈接?水豚如何測試與href圖案的多個鏈接

我已經試過這樣:

Then /^I should see a list of (\d+) users$/ do |num| 
    page.should have_selector('a', {:href=>"users/*", :count => num}) 
    end 

這:

Then /^I should see a list of (\d+) users$/ do |num| 
    page.should have_selector('a', {:href=>/users\/\d+/, :count => num}) 
    end 

但兩者的回報預期的CSS 「一」 返回的東西(的RSpec ::預期:: ExpectationNotMetError)

但是,如果我省略:count參數,則測試將始終通過我擁有的任何內容(即使錯誤的模式):href參數。

+0

不是一個解決方案,但是將「用戶」類添加到您的鏈接而不是更容易使用正則表達式嗎? –

+0

這可能是一個解決方案,但我不想依賴標記。 user_path是我確信在我的頁面上不會改變的唯一想法。 – demental

回答

5

我會使用XPath與contains功能如下:

page.should have_xpath("//a[contains(@href,'users')]"), :count => num) 

應匹配num出現任何a元素包含文本「用戶」的href屬性。