2

私はこのエラーを受け取り続けます:

Capybara::ElementNotFound:
       cannot fill in, no text field, text area or password field with id, name, or label 'Morning' found.

sporkをリセットし、完全なdbリセットを実行し、form要素にIDを割り当てようとしました。ここで問題になる可能性があるのは何ですか?

days_controller_spec.rb

require 'spec_helper'

describe DaysController do

  describe "New" do

    describe "with valid information" do

      it "should create a new entry" do
        visit 'days#new'
        fill_in "Morning", with: "Test"
        click_button "Submit"
      end
    end
  end
end

days_controller.rb

<%= form_for @day do |f| %>

  <%= f.label :morning %>
  <%= f.text_field :morning %>

  <%= f.button :submit %>
<% end %>
4

2 に答える 2

2

あなたのアプリは JavaScript を使用しているようです。:js => truecapybaraでは、JS ページを扱うブロックにオプションを追加する必要があります。

試す:

it "should create a new entry", :js => true do

フィールドにアクセスする前に、フォームをレンダリングする必要がある場合もありfill_inます。

また、capybara の統合 DSL を確認することをお勧めします。詳細はこちら

于 2013-03-23T03:54:58.303 に答える