RSpec + Factory_Girl Посмотреть тестирование - PullRequest
3 голосов
/ 08 апреля 2011

Опять, похоже, застрял в тесте простого представления. Вот код:

require 'spec_helper'

describe "posts/show.html.erb" do
  setup do
    @post = Factory(:post)
  end

  it "should not render a canonical link rel" do
    get :show, :id => @post.id
    response.should_not have_tag("link[rel=?]", "canonical")
  end
end

Когда я делаю Factory (: post) из консоли, никаких проблем, создает его отлично. Но когда я запускаю это в командной строке, я получаю следующее:

rspec spec/views/posts/show.html.erb_spec.rb 
F

Failures:

  1) posts/show.html.erb should not render a canonical link rel
     Failure/Error: get :show, :id => @post.id
     RuntimeError:
       Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
     # ./spec/views/posts/show.html.erb_spec.rb:11

Finished in 0.06532 seconds
1 example, 1 failure

Есть идеи, что мне не хватает?

1 Ответ

5 голосов
/ 08 апреля 2011

Вы хотите использовать перед каждым :

before(:each) do
    @post = Factory(:post)
end

или

before do
  @post = Factory(:post)
end

для краткости.

вместо блока настройки.

...