Понимание отказа RSpec - PullRequest
       3

Понимание отказа RSpec

0 голосов
/ 30 ноября 2010

Я получаю эти сбои при запуске rspec spec/.Спецификация, которая не работает, была автоматически сгенерирована с помощью лесов.Я пытаюсь понять RSpec, но я не знаю, с чего начать искать причину, отличную от чувствует как какой-то метод отсутствует?Тем не менее, приложение работает нормально.Ничего об этих сбоях не появляется в test.log.Есть ли другое место, где я должен искать подсказки, чтобы отследить это?

$ rspec spec/
.....................F.F.

Failures:

  1) clowns/edit.html.haml renders the edit clown form
     Failure/Error: render
     undefined method `to_sym' for nil:NilClass
     # ./app/views/clowns/_form.html.haml:4:in `block in _app_views_clowns__form_html_haml__3590088286240866241_2176114460_3896491916910336970'
     # ./app/views/clowns/_form.html.haml:1:in `_app_views_clowns__form_html_haml__3590088286240866241_2176114460_3896491916910336970'
     # ./app/views/clowns/edit.html.haml:3:in `_app_views_clowns_edit_html_haml___574620942879655923_2176081980_599706797287605391'
     # ./spec/views/clowns/edit.html.haml_spec.rb:13:in `block (2 levels) in <top (required)>'

  2) clowns/new.html.haml renders new clown form
     Failure/Error: render
     undefined method `to_sym' for nil:NilClass
     # ./app/views/clowns/_form.html.haml:4:in `block in _app_views_clowns__form_html_haml__3590088286240866241_2176114460_3896491916910336970'
     # ./app/views/clowns/_form.html.haml:1:in `_app_views_clowns__form_html_haml__3590088286240866241_2176114460_3896491916910336970'
     # ./app/views/clowns/new.html.haml:3:in `_app_views_clowns_new_html_haml__1085372210838170129_2159651900_599706797287605391'
     # ./spec/views/clowns/new.html.haml_spec.rb:12:in `block (2 levels) in <top (required)>'

Finished in 1.03 seconds
27 examples, 2 failures, 2 pending

А вот спецификация, которая явно не работает (edit.html.haml_spec.rb).Это было автоматически сгенерировано rails g scaffold Clown name:string balloons:integer:

#spec/views/clowns/edit.html.haml_spec.rb
require 'spec_helper'

describe "clowns/edit.html.haml" do
  before(:each) do
    @clown = assign(:clown, stub_model(Clown,
      :name => "MyString",
      :balloons => 1
    ))
  end

  it "renders the edit clown form" do
    render

    # Run the generator again with the --webrat-matchers flag if you want to use webrat matchers
    assert_select "form", :action => clown_path(@clown), :method => "post" do
      assert_select "input#clown_name", :name => "clown[name]"
      assert_select "input#clown_balloons", :name => "clown[balloons]"
    end
  end
end

1 Ответ

0 голосов
/ 30 ноября 2010

Вы также используете simple_form (или, возможно, даже formtastic )? Я получаю ту же ошибку при преобразовании форм скаффолда из стандартных форм в формы simple_form (form_for(@user) => simple_form_for(@user)).

Как вы говорите, это все еще работает, поэтому я не уверен, что стоит беспокоиться. Я думаю, тебе лучше позволить Огурцу беспокоиться об этом. Сара Мей говорит, что просмотр спецификаций - пустая трата времени . : -)

...