2015-10-17 58 views
0

假設我的應用程序中有一個「登錄」按鈕,可以由管理員啓用/禁用該按鈕。當登錄功能被禁用時,測試此按鈕的最佳方式是而不是? (該頁面應呈現罰款,但該按鈕不應該在那裏。)期待水豚找不到東西?

我似乎無法找到一種方式expectfind失敗。我接近這個錯誤嗎?

+0

期望'not_to'而不是'to'? –

回答

1

好吧,如果你的按鈕有一個classid,那麼你可以檢查,如果頁面不包括classid

expect(page).not_to have_selector "#botton_id" or ".button_class" 

,或者如果你的按鈕的名稱是唯一的,你可以檢查不顯示在頁面上:

expect(page).not_to have_content('Button Name') 
0

如果你想通過做

已檢查了按鈕的存在
expect(page).to have_button('log in') 

那麼你可以做任何的

expect(page).not_to have_button('log in') 
expect(page).to have_no_button('log in') 

,以確保「登錄」按鈕不存在 - 類似可以have_link,have_field,have_selector等來實現。如果你不使用RSpec的,然後再沿着

page.assert_no_selector(:button, 'log in') 

assert page.has_no_button?('log in') 

線的東西會做你想要什麼