Ich verwende RSpec mit FactoryGirl innerhalb einer Ruby-on-Rails-Umgebung zum Testen.RSpec mit FactoryGirl expliziten Betreff
ich meine Fabriken angeben möchten, wie folgt:
factory :user do
role # stub
factory :resident do
association :role, factory: :resident_role
end
factory :admin do
association :role, factory: :admin_role
end
end
Und ich möchte so etwas wie dies in meinem spec tun:
require 'rails_helper'
RSpec.describe User, type: :model do
context "all users" do
# describe a user
# subject { build(:user) }
# it { is_expected.to be_something_or_do_something }
end
context "residents" do
# describe a resident
# subject { build(:resident) }
# it { is_expected.to be_something_or_do_something }
end
context "admins" do
# describe a admin
# subject { build(:admin) }
# it { is_expected.to be_something_or_do_something }
end
end
dies ausdrücklich getan werden kann, durch die Einstellung subject
? Wenn ich das mache, bekomme ich doppelte Rollenfehler.
Wenn jemand einen Rat oder einen Vorschlag hat, würde es sehr geschätzt werden!
Hmm war zu verwenden, benötigt. Bist du sicher? Ich habe gerade eine 'rate subject.inspect' auf einer ähnlichen Spezifikation von mir laufen lassen, mit einer Fabrik namens Model und Spec, und ich beobachte kein solches Verhalten. Mein implizites "Subjekt" ist ein ' .new' (Standardverhalten von RSpec), kein' FactoryGirl.build (: model_class) '. Was beobachtest du an deinem Ende? –
AmitA
Sie haben recht, es ist eine leere Modellinstanz! Danke, dass du das geklärt hast. – fbelanger