Ich habe die letzten zwei Stunden damit verbracht, herauszufinden, was falsch ist, konnte aber nirgendwo die Antwort finden.Definieren von FactoryGirl für Benutzermodell von Devise schlägt fehl
Es ist meine erste Rails-Anwendung (außer Hartl Tutorial), so dass die Lösung einfach sein kann .. Ich benutze Devise, um meine Benutzer zu verwalten, alles ist wirklich in Ordnung mit ihm bis jetzt.
Der Versuch, die User-Modell zu testen ich ein Werk wie folgt definiert:
FactoryGirl.define do
factory :user do
email "[email protected]"
password "123123"
password_confirmation { "123123" }
end
end
und der Test ist:
describe User do
# pending "add some examples to (or delete) #{__FILE__}"
@user = FactoryGirl.create(:user)
subject(:user)
it { should respond_to(:email) }
it { should respond_to(:password) }
it { should be_valid }
end
Aber die letzte Zeile (es {be_valid sollte}) den Test nicht .
Ich habe den Wert von Benutzer/@ Benutzer (beide versucht) und es kam Null heraus. Edit: Es ist nicht Null. Seine
#<User id: 13, email: "[email protected]", encrypted_password: "$2a$04$.lWs6yadJu/Ya67xi.W1F.fd6sWLGkzc/59.lgTi0sA7...", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, created_at: "2012-08-27 15:48:23", updated_at: "2012-08-27 15:48:23">
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
# attr_accessible :title, :body
validates :email, :presence => true
validates :password, :presence => true
end
Was ist es, dass ich nicht sehe?
Sie könnten auch versuchen, 'config.cache_classes = false 'zu setzen, wie in http://guides.rubyonrails.org/configuring.html, in ** config/environments/test.rb ** - Sollte Sie den Neustart stoppen Spork jedes Mal, wenn Sie eine Änderung vornehmen. – veritas1