Запрос Rspec говорит, что не может найти поле формы «Имя учетной записи» - PullRequest
1 голос
/ 26 февраля 2012

В моем запросе rspec я сделал:

ставит page.html

и я вижу:

<label for="account_account_name">Account name</label>
<input id="account_name" name="account[name]" size="30" type="text" />

Мой запрос rspec:

require 'spec_helper'

describe "Account pages" do

  subject { page }

  describe "new" do

    before { visit account_new_path }

    describe "with valid information" do
      before do
        #puts page.html
        fill_in "Account name",       with: "acme inc."
        fill_in "Company name",       with: "acme inc."
        ..

      end

      it "should create a account" do
        expect { click_button "Create Account"}.to change(Account, :count).by(1)
      end
    end
  end
end

Продолжительность:

rspec spec/requests/account_pages_spec.rb

Я получаю ошибку:

1) Account pages new with valid information should create a account
     Failure/Error: fill_in "Account name",       with: "account name1"
     Capybara::ElementNotFound:
       cannot fill in, no text field, text area or password field with id, name, or label 'Account name' found
     # (eval):2:in `fill_in'
     # ./spec/requests/account_pages_spec.rb:14:in `block (4 levels) in <top (required)>'

Почему элемент не может быть найден?

Снова вывел файл page.html в блоке before, и он вывел правильный HTML, который я вставил выше.

Ответы [ 2 ]

1 голос
/ 26 февраля 2012

Атрибут метки for неправильно идентифицирует поле ввода.

0 голосов
/ 04 декабря 2012

Пожалуйста, попробуйте это:

fill_in "account[name]", :with => "acme inc."
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...