railstutorial.org - undefined method `Usine'
Je suis d'essayer de suivre railstutorial.org et je suis actuellement sur le Chapitre 7, où que vous commencez à utiliser des usines: http://railstutorial.org/chapters/modeling-and-viewing-users-two#sec:tests_with_factories
Je suis à l'aide de Rails 3.0.1 et ruby 1.9.2-p0
Je ne peux pas pour la vie de moi de sortir ma rspec tests à passer si, l'erreur que j'obtiens est
Failures:
1) UsersController GET 'show' should be successful
Failure/Error: @user = Factory(:user)
undefined method `Factory' for #<RSpec::Core::ExampleGroup::Nested_2::Nested_1:0x00000101cc5608>
# ./spec/controllers/users_controller_spec.rb:9:in `block (3 levels) in <top (required)>'
mes usines.rb ressemble à ceci:
# By using the symbol ':user', we get Factory Girl to simulate the User model.
Factory.define :user do |user|
user.name "Michael Hartl"
user.email "[email protected]"
user.password "foobar"
user.password_confirmation "foobar"
end
et c'est mon users_controller_spec.rb
fichier:
require 'spec_helper'
describe UsersController do
render_views
describe "GET 'show'" do
before(:each) do
@user = Factory(:user)
end
it "should be successful" do
get :show, :id => @user
response.should be_success
end
voici mon Gemfile, si cela aide:
source 'http://rubygems.org'
gem 'rails', '3.0.1'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3-ruby', :require => 'sqlite3'
gem 'gravatar_image_tag'
group :development do
gem 'rspec-rails'
gem 'annotate-models'
end
group :test do
gem 'rspec'
gem 'webrat'
gem 'spork'
gem 'factory_girl_rails'
end
OriginalL'auteur bobaboba | 2010-10-21
Vous devez vous connecter pour publier un commentaire.
Peut-être que vous devriez essayer la nouvelle syntaxe (voir github readme de factory girl)
OriginalL'auteur BvuRVKyUVlViVIc7
Que par la dernière version de Factory Girl (actuellement v4.0.0)
réécrire les usines.rb
ensuite appeler à partir de vos utilisateurs contrôleur spécifications:
OriginalL'auteur Postscripter
J'ai eu exactement le même message d'erreur. J'ai juste redémarré mon Spork serveur et de l'Autotest et tout s'est vert pour moi.
+1 le Redémarrage de Spork tout comme par magie fonctionne pour moi.
OriginalL'auteur Eric Van Joshnon
Dans votre spec utilisation
au lieu de
créer est implicitement appelé
OriginalL'auteur jeremiemv
J'ai eu ce problème, mais c'était parce que j'avais placé l'usine de fille bijou en vertu de la section du développement de la place de la section d'essai de le Gemfile. Une fois en vertu de la section d'essai, il a travaillé. Une différence que je note entre mon entrée et le vôtre, c'est que mine spécifie 1.0:
OriginalL'auteur msluyter
Pour moi, j'ai dû ajouter
require 'factory_girl'
àtest_helper.rb
OriginalL'auteur Kris
Ma solution: j'ai accidentellement inclus dans le
:development
bloc, et tout simplement pour le déplacer vers la:test
bloc(Que j'ai énumérés ici, parce que ça pourrait aider quelqu'un qui ne veut pas suivre le tutoriel correctement)
OriginalL'auteur Matyas
J'ai fait,
ajouter
require 'factory_girl'
àtest_helper.rb
etOriginalL'auteur AleksNV
Pour ceux trouver cette page: note de l'endroit où vous autrefois "FactoryGirl" vous devez maintenant utiliser "FactoryBot" dans vos tests. À partir de la thoughtbot page d'annonce:
Plus de détails ici:
https://robots.thoughtbot.com/factory_bot
OriginalL'auteur Kale Manatee
Je suis déterminé à utiliser la version la plus récente de l'Usine de Fille, j'ai donc essayé d'adapter le code. Ne fonctionne pas pour moi, j'ai donc utilisé
dans le Gemfile pour verrouiller la version 1.0
redémarrer spork et de l'autotest et cela a fonctionné.
OriginalL'auteur David West