在我的測試中,我有一個步驟,我填寫一個字段並按回車。該字段然後返回下一頁上的結果集。在水豚使用睡眠有更好的選擇嗎?
這裏是我的助手方法:
def search(term)
fill_in('query-text', :with => term)
click_button('search-button')
end
之後,我有一個步驟,簡單地說:
page.should have_content(tutor)
然而,問題是,即使我的頁面加載與後頁結果,它通過後的步驟,即使它應該是錯誤的。我在步驟中設置了一個調試器,當我手動檢查它時,斷言失敗,因爲我也期望它。我的假設是,下一步是在頁面重新加載之前檢查。我把睡眠在我的搜索方法的結束,使它看起來像:
def search(term)
fill_in('query-text', :with => term)
click_button('search-button')
sleep 5
end
但我覺得用睡眠來解決這個問題一個哈克的方式。我正在使用Capybara 2,所以使用wait_until被刪除。有沒有更好的方法來處理這個問題,而不是依靠睡眠?
第一個鏈接明確指出'synchronize'與'wait_until'具有完全不同的用例。 – asymmetric