2013-03-13 22 views
16

ich habe:Zeus + FactoryGirl :: Syntax :: Methoden. nicht definierte Methode `create‘

RSpec.configure do |config| 
    config.include FactoryGirl::Syntax::Methods 
end 

, die richtig mit einfachen rspec spec/model/user_spec.rb arbeiten (erlaubt es mir create(:user) zu verwenden, nicht FactoryGirl.create(:user)). Aber wenn ich zeus rspec spec/model/user_spec.rb verwenden, um meine Angaben zu beschleunigen, es Tröge mir ein Fehler:

Failure/Error: @user = create(:user) 
    NoMethodError: 
     undefined method `create' for #<RSpec::Core::ExampleGroup::Nested_2::Nested_1:0x007fc8618e4960> 

Wie ich diese Syntax mit zeus verwenden kann?

+0

'' zeus Rake spec'' für mich, mit Fabrik Mädchen gut funktioniert. – Intrepidd

+0

Es scheint nur zu sein, wenn spezifische spec ausgeführt werden. Ich habe meine Frage aktualisiert. – freemanoid

Antwort

28

eine dieser Linien in spec/spec_helper.rb entfernen, wenn sie vorhanden sind:

require 'rspec/autorun' 
require 'rspec/autotest' 
+0

Weißt du, warum das FactoryGirl bricht? Dies scheint wie ein Pflaster. – varatis

+0

Dies funktioniert auch, um rspec-fire mit Zeus arbeiten zu lassen – Houen

1

Haben Sie vorher Spork an diesem Projekt verwenden? Wenn ja, müssen Sie die Teile, die Spork in Ihrer spec_helper geändert hat, entfernen. Wie @ ilake-chang sagte, müssen Sie die require 'rspec/autorun' entfernen und Sie möchten auch Spork.prefork und Spork.each_run entfernen.

Siehe the Zeus wiki on Spork