如何使用 assert_select 断言输入元素的值

Joa*_*ira 2 testing ruby-on-rails

鉴于视图中的此 HTML:

<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>
Run Code Online (Sandbox Code Playgroud)

如何使用 assert_select 选择按钮的值?我试试

assert_select 'form input[type=submit]', "Send Reset Instructions"
Run Code Online (Sandbox Code Playgroud)

但它失败了

<Send Reset Instructions> expected but was
<>..
Expected 0 to be >= 1.
Run Code Online (Sandbox Code Playgroud)

基本上什么都不选。

我在这里做错了什么?

Mal*_*zad 5

在你的情况下使用:

assert_select 'form input[type=submit][value=Send Reset Instructions]'
Run Code Online (Sandbox Code Playgroud)

由于 value 是一个属性,而不是 html 标签中的文本。

  • 我发现我需要用双引号将“发送重置指令”括起来,否则它会被标记为无效的 CSS 选择器。 (2认同)