2013-07-17 74 views
1

鑑於這種HTML視圖中的輸入元素的值:如何斷言與assert_select

<form id="new_merchant_user" method="post"> 
    <fieldset> 
    <div id='legend'> 
     <legend>Recover Pasword</legend> 
    </div> 
    <input id="merchant_user_email" name="merchant_user[email]" type="text" value="" /> 
    <input class="btn btn-success" name="commit" type="submit" value="Send Reset Instructions" /> 

    </fieldset> 
</form> 

如何選擇與assert_select按鈕的價值? 我嘗試

assert_select 'form input[type=submit]', "Send Reset Instructions" 

,但它與

<Send Reset Instructions> expected but was 
<>.. 
Expected 0 to be >= 1. 

基本上失敗了,沒有什麼選擇。

我在這裏做錯了什麼?

回答

4

在你的情況下使用:

assert_select 'form input[type=submit][value=Send Reset Instructions]' 

由於價值屬性不是一個HTML標記中的文本。

+0

我發現我需要用雙引號括住「發送重置指令」,否則它被標記爲無效的CSS選擇器。 – craig1410

+0

我認爲你使用的是Rails 4.因爲這個語法在Rails 3和ruby 2中都能正常工作。但是在Rails 4及以上版本以及ruby 2.1和以上版本中,它確實會說「無效的CSS選擇器」。 –