0

パスワードフィールドを使用したユーザー (form_for @user) サインアップ用の簡単なフォームがあります。

<div class="control-group"> 
  <%= f.label :password, :class => 'control-label' %>
  <div class="controls"> 
    <%= f.password_field :password, :class => 'password_field' %>
  </div>
</div>

私のrspec/capybaraテストでは、このパスワードフィールドが存在するかどうかを確認したいです:

it {should have_field("password")}

しかし、うまくいきません。「user_password」(これはこのパスワード フィールド ID であるため)または「user[password]」(これはこのフィールド名であるため)と同じです。

カピバラのドキュメントにはそれが何であるかが説明されていないため、 have_field が使用する正しいマッチャーであるかどうかはわかりません。フォームフィールドが存在するかどうかをテストする最良の方法は何ですか?

4

3 に答える 3

3

代わりに次の理由で、コードが機能しませんでした。

it { page.should have_field("password") }

どちらかを使用する必要があります

specify { page.should have_field("password") }

また

it { should have_field("password") }

于 2012-12-02T06:43:13.427 に答える
1

ここで、自分自身への返信として、仕様で :type => :password を明示的に使用して問題を解決しました。

于 2012-12-31T21:53:55.420 に答える
0

に置き換えhave_fieldてみてくださいhave_selector

于 2012-09-17T22:37:48.520 に答える