Rails アプリの手伝いを頼まれました。私はいくつかの失敗した rpsec テストを行っており、それらを合格させています。頭を壁にぶつけているものがあります。Rails 3.2.13 と Ruby 2.0 を使用しています 注: 私は完全に rspec のヌーブです。
vet-as-faculty の ID を持つフォームがあります。テストはこれを探していますが、見つかりません。エラーが発生します:
Capybara::ElementNotFound:
Unable to find css "form#vet-as-faculty
テストの他のフォーム要素でも同様のエラーが発生しますが、テストは現在またはこの時点で失敗しています。
これは「通常」、フォームのマークアップが正しくないか、テストのスペルが間違っていることを意味します(いくつか見つけました)。しかし、これは私が手に入れることができません。私はこのエラーをグーグルで調べて、ちょっとしたものを見つけましたが、これについては何も役に立たないようです. 私はあなたがそこにいる教祖が私にとって簡単なものを見てくれることを願っています.
フォーム/ビュー (一部):
<%= form_for @profile, :url => { :action => :vet_as_faculty }, :html => { :id => "vet-as-faculty" } do |f| %>
<fieldset class="row1"><legend>Vet Me As Faculty</legend>
<div class="form-pair" id="faculty-url">
<div class="form-item">
<label>Faculty URL</label>
</div>
<fieldset class="row2">
<div class="form-submit" id="save-faculty">
<%= f.submit "Send for Review" %>
</div>
</fieldset>
<% end %>
ソースを表示すると、次のように表示されます。
<form accept-charset="UTF-8" action="/research/chr/casestudies/profile/vet_as_faculty" class="edit_user" id="vet-as-faculty" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="FZtjli8HaGD3koUvSFAYR2Gy+waL8KDWflMNUo4tXXw=" /></div>
<fieldset class="row1"><legend>Vet Me As Faculty</legend>
<div class="form-pair" id="faculty-url">
<div class="form-item">
<label>Faculty URL</label>
</div>
<div class="form-value">
<input id="user_faculty_url" name="user[faculty_url]" size="30" type="text" />
</div>
</fieldset>
<fieldset class="row2">
<div class="form-submit" id="save-faculty">
<input name="commit" type="submit" value="Send for Review" />
</div>
</fieldset>
...
したがって、for id は 'id="vet-as-faculty"' と表示されます。しかし、テストはこれを認識しません。
テストコード:
context "within the faculty vetting block" do
it "has the necessary form fields" do
within "form#vet-as-faculty" do
expect(page).to have_css("input#user_faculty_url")
expect(page).to have_css("input#save-faculty")
end
end
end
この 1 つのテストのエラー出力:
3) Edit Profile View within the faculty vetting block has the necessary form fields
Failure/Error: within "form#vet-as-faculty" do
Capybara::ElementNotFound:
Unable to find css "form#vet-as-faculty"
# ./spec/features/edit_profile_view_spec.rb:48:in `block (3 levels) in <top (required)>'
テストでさらにドリルダウンタイプのcssを追加しようとしました
within "#page #content form#vet-as-faculty" do
フォームは div#content 内にあり、コンテンツは div#page 内にあります。これも役に立ちません。
何かご意見は?これを読んでくれてありがとう。