Rails Urządzenia nie ładują się z rspec

Dlatego staram się poznać ramy testowania BDD rspec w kontekście projektu railsowego. Problem, który mam, polega na tym, że nie mogę, przez całe życie, ładować moich urządzeń poprawnie w opisach rspec.

Zastrzeżenie: Tak, są lepsze rzeczy niż urządzenia do użycia. Próbuję nauczyć się jednej rzeczy na raz, tutaj (konkretnie rspec), zanim zacznę grać z powiązanymi narzędziami, takimi jak fabryka-dziewczyna, mokka, autotest itp. W związku z tym staram się uzyskać martwą prostotę , jeśli niezdarny, urządzenia pracują.

W każdym razie oto kod:

/test/fixtures/users.yml -

# password: "secret"
foo:
  username: foo
  email: [email protected]
  password_hash: 3488f5f7efecab14b91eb96169e5e1ee518a569f
  password_salt: bef65e058905c379436d80d1a32e7374b139e7b0

bar:
  username: bar
  email: [email protected]
  password_hash: 3488f5f7efecab14b91eb96169e5e1ee518a569f
  password_salt: bef65e058905c379436d80d1a32e7374b139e7b0

/spec/controllers/pages_controller_spec.rb -

require 'spec/spec_helper'

describe PagesController do
  integrate_views
  fixtures :users
  it "should render index template on index call when logged in" do
    session[:user_id] = user(:foo).id
    get 'index' 
    response.should render_template('index')
  end
end

A co otrzymuję po uruchomieniu „specyfikacji rake” to:

NoMethodError in 'PagesController should render index template on index call when logged in'
undefined method `user' for #<Spec::Rails::Example::ControllerExampleGroup::Subclass_1:0x2405a7c>
/Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/test_process.rb:511:in `method_missing'
./spec/controllers/pages_controller_spec.rb:7:

Oznacza to, że nie rozpoznaje „user (: foo)” jako prawidłowej metody.

Urządzenia muszą być poprawne, ponieważ po załadowaniu ich do bazy programistycznej przez „rake db: fixtures: load” mogę sprawdzić, czy foo i bar są obecne w tej db.

Czuję, że brakuje mi tutaj czegoś oczywistego, ale przez cały dzień wyrywałem sobie włosy bezskutecznie. Każda pomoc byłaby doceniana.

questionAnswers(2)

yourAnswerToTheQuestion