Also, ich versuche, das RSPEC BDD-Test-Framework im Rahmen eines Rails-Projekts zu lernen. Das Problem, das ich habe, ist, dass ich für mein Leben nicht dazu in der Lage bin, meine Fixtures in rspec-Beschreibungen richtig zu laden.Rails Fixtures laden nicht mit rspec
Haftungsausschluss: Ja, es gibt bessere Dinge als Vorrichtungen zu verwenden. Ich versuche, eine Sache zu einer Zeit zu lernen, hier (speziell rspec), bevor ich mit assoziierten Werkzeugen wie Fabrik-Mädchen, Mokka, Auto-Test, usw. spiele. Als solche versuche ich, die Toten einfach zu bekommen , wenn klobig, Geräte arbeiten.
Wie auch immer, hier ist der Code:
/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
Und was ich Ich bekomme, wenn ich 'Rake spec' laufen lasse:
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:
Das heißt, "user (: foo)" wird nicht als gültige Methode erkannt.
Die Fixtures selbst müssen in Ordnung sein, da ich, wenn ich sie über 'rake db: fixtures: load' in die Entwicklungs-DB lade, verifizieren kann, dass foo und bar in dieser db vorhanden sind.
Ich fühle mich, als würde ich hier etwas Offensichtliches vermissen, aber ich habe mir den ganzen Tag die Haare ausgerissen, ohne Erfolg. Jede Hilfe wäre willkommen.
Damnit. Nun, ich war mir sicher, dass es so dumm war und ich hatte verdammt recht. Danke, das hat es gelöst. :) – Fishtoaster
@tadman Bist du online? –