7
votes

Utilisation de définitions d'étape de girl d'usine dans des fonctionnalités de concombre (rails 3)

J'essaie d'utiliser une fille de concombre et d'usine. Les lignes suivantes: xxx pré>

soulève l'erreur suivante: p> xxx pré>

' p>

J'ai installé usine_girl_rails (même La fonctionnalité d'achèvement du code de RubyMine fonctionne avec une fille d'usine Step ...) P>

#Gemfile
group :test do
   gem "cucumber-rails", ">= 0.3.2"
   gem "factory_girl_rails"
 end

#features/support/env.rb
require 'factory_girl'
require 'factory_girl/step_definitions'


1 commentaires

Avez-vous un fichier usine users.rb?


4 Réponses :


1
votes

Essayez ceci dans Fonctions / Step_Definitions / user_steps.rb xxx pré>

Bien que vous puissiez vouloir cela à la place: P>

Given /^the following users:$/ do |users|
  etc..


4 commentaires

Cela duplique la fonctionnalité des modes_définitions de Factory_girl, mais meuleusement.


Exactement, j'aimerais utiliser l'étape_girls Step_Definitions de Factory_girl si possible. (Si je ne peux pas, je vais probablement utiliser cette solution de contournement). Merci @ SJ26 et @Macksmind


@ Les anciennes habitudes de SJ26 sont difficiles à casser. Factory Girl n'a pas inclus les définitions d'étape lorsque j'ai commencé à l'utiliser. Besoin de faire le commutateur.


Alors, comment écrivez-vous les définitions d'étape à l'aide de l'étape_girl's Step_Definitions de Factory_Girl?



7
votes

3 commentaires

Je reçois aucun fichier de ce type à charger - spécifications / usines (LoadError) Même si j'ai ce dossier et certaines usines I (avec succès) utilisent dans les tests RSPEC. J'ai également essayé avec besoin '../../ SPEC / FACTORATIONS' mais toujours pas de chance. Comme d'habitude, l'achèvement du code de Rubymine trouve tout ... très gênant, j'aimerais utiliser les étapes par défaut fournies par Factory Girl et n'écrire pas la mienne ..


Êtes-vous sûr d'avoir un usine: utilisateur ? Pouvez-vous GIST Votre modèle d'utilisateur, fichier d'usages, support de concombre et fonctionnalité de concombre?


Merci, cela corrige le problème. Je n'avais pas la: usine d'utilisateur. Désolé, c'était une question de Newbie (j'utilise une fille d'usine pour la première fois)



11
votes

Pour ces personnes, qui essayant d'utiliser des aides FactoryGirl maintenant:

de FactoryGirl 3.5.0 Ces aides à l'étape sont obsolètes et supprimés dans 4.0.0: http://robots.thoughtbot.com/post/25650434584/witing-better-cool-scenarios-or-Phy-were

AS de FactoryGirl 3.5.0, en utilisant l'étape générée par FactoryGirl Les définitions imprimeront un avertissement de dépréciation. Nous allons retirerons Les définitions de l'étape complètent complètement dans la version 4.0.0 de FactoryGirl dans conformément au Semver. J'imagine que le code existant sera extrait à un gemme similaire aux roues d'entraînement des rails de concombre avec une belle AVERTISSEMENT Demandez aux développeurs de ne pas utiliser les étapes.

Donc, si vous souhaitez utiliser FactoryGirl en concombre, vous devez l'utiliser dans vos propres définitions d'étape.


1 commentaires

d'accord. Si vos réponses reçoivent au moins 3 upvotes, je vais envisager de marquer votre réponse comme bonne réponse. (Je n'utilise plus de concombre, donc je ne peux pas vérifier)



1
votes

OK, je reçois que Centhbot veut que nous rédige un meilleur code, mais comme une béquille de mise à niveau, nous pouvons simplement mettre cet ancien fichier dans des fonctionnalités / Step_Definitions:

https://raw.github.com/ Conthbot / Factory_girl / 3.6.x / Lib / Factory_Girl / step_definitions.rb


0 commentaires