Alle Links zu Dokumentation, die meine Gedanken hier beweisen oder widerlegen, wären sehr willkommen; Ich kann keine finden.FactoryGirl Factory für Namespace-Klasse
AFAIK, wenn Sie eine Rails-Anwendung mit einem Product
Modell hatte, konnte man eine factory Fabrik als
FactoryGirl.define do
factory :product do
# stuffs
end
end
definieren und dann Fabrik in Tests rufen Sie mit (RSpec Beispiel)
let(:product) { FactoryGirl.create(:product) }
Sie können aber auch nennen es mit
let(:product) { FactoryGirl.create(Product) }
Dies ist hilfreich, wenn Sie Ihre Modelltests ein wenig dynamischer und mit RSpecs described_class
Helfern ändern möchten.
Mein Problem:
Ich habe ein Modell bekam die RSpec Namespace
class Namespace::MyModel < ActiveRecord::Base
# model stuffs
end
mit einer Fabrik
FactoryGirl.define do
factory :my_model, class: Namespace::MyModel do
# factory stuffs
end
end
und bei dem Versuch, sich zufällig Helfer zu verwenden ..
RSpec.describe Namespace::MyModel do
let(:my_object) { FactoryGirl.create(described_class) }
# testing stuffs
end
factory klagt über fehlende Fabrik
Factory not registered: Namespace::MyModel
Bin ich diese Funktion von factory fehlt, ohne seine wahre Bestimmung zu verstehen? Oder gibt es eine andere Möglichkeit, wie ich meine Fabrik richtig auflösen kann?
möglich Duplikat [Mit Fabrik \ _girl \ _rails mit Rspec auf Namespace-Modelle] (http://stackoverflow.com/questions/6349378/using-factory-girl-rails-with-rspec -on-namespaced-models) –
@GregBurghardt Ich weiß, wie man die Fabrik einrichtet und wie von FactoryGirl dokumentiert verwendet. Meine Frage bezieht sich darauf, wie FactoryGirl Klassennamen in Fabriknamen auflöst. –
Für alle, die neugierig sein könnten, habe ich auch ein Problem auf der GitHub-Seite von FactoryGirl eröffnet, um die Meinung des Entwicklerteams zu diesem Thema zu erfahren: https://github.com/thoughtbot/factory_girl/issues/740 –