Ich habe große Schwierigkeiten, alle Enten in der richtigen Reihenfolge mit FactoryGirl zu bekommen.
Ich habe eine minimalistische Rails-App (3.0.11) eingerichtet, factory_girl_rails (1.4.0), factory_girl (2.3.2) & cucumber-rails (1.2.1) und ruby-1.8.7-p352.
Der Cucumber-Test lautet wie folgt:
Feature: a
Scenario: test factory-girl
Given the following user exists:
| name | email |
| Brandon | brandon@example.com |
Das Ergebnis ist folgendes:
cucumber
Using the default profile...
"Adam Advertiser"
"a@b.com"
#
Feature: a
Scenario: test factory-girl # features/users.feature:2
Given the following user exists: # factory_girl-2.3.2/lib/factory_girl/step_definitions.rb:100
| name | email |
| Brandon | brandon@example.com |
**Factory not registered: user (ArgumentError)**
features/users.feature:3:in `Given the following user exists:'
Failing Scenarios:
cucumber features/users.feature:2 # Scenario: test factory-girl
1 scenario (1 failed)
1 step (1 failed)
0m0.107s
Es scheint ein Problem mit der Ladereihenfolge zu geben. Über jede Hilfe, um das richtig hinzubekommen, würde ich mich freuen. Grüße Ross
features/Factories.rb sieht folgendermaßen aus:
FactoryGirl.define do
factory :user do
name 'Adam Advertiser'
email 'a@b.com'
end
end
pp FactoryGirl.create(:user)
require 'factory_girl/step_definitions'
Mein features/support/env.rb sieht so aus:
require 'pp'
require 'cucumber/rails'
require 'factory_girl_rails'
Mein GemFile sieht so aus:
source 'http://rubygems.org'
gem 'rails', '3.0.11'
gem 'sqlite3'
group :development, :test do
gem 'cucumber-rails'
gem 'factory_girl_rails' # rails 3 version