2013-03-13 19 views
16

tôi có:Zeus + FactoryGirl :: Cú pháp :: Phương pháp. Phương pháp xác định 'tạo ra'

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

mà đúng làm việc với đơn giản rspec spec/model/user_spec.rb (cho phép tôi sử dụng create(:user), không FactoryGirl.create(:user)). Nhưng nếu tôi sử dụng zeus rspec spec/model/user_spec.rb để tăng tốc độ thông số kỹ thuật của tôi, nó máng cho tôi một lỗi:

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

Làm thế nào tôi có thể sử dụng cú pháp này với zeus?

+0

'' zeus rake spec'' hoạt động tốt cho tôi, với nhà máy nữ. – Intrepidd

+0

Dường như chỉ khi chạy thông số kỹ thuật cụ thể. Tôi đã cập nhật câu hỏi của mình. – freemanoid

Trả lời

28

Hủy bỏ một trong những dòng này trong spec/spec_helper.rb nếu chúng tồn tại:

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

Bạn có biết tại sao điều này phá vỡ FactoryGirl không? Điều này có vẻ giống như một ban nhạc hỗ trợ. – varatis

+0

Điều này cũng hoạt động để nhận được rspec-fire làm việc với zeus – Houen

1

Bạn có trước đây sử dụng Spork về dự án này? Nếu vậy, bạn phải xóa các bộ phận mà Spork đã thay đổi trong số spec_helper của bạn. Như @ ilake-chang đã nói, bạn phải xóa require 'rspec/autorun' và bạn cũng sẽ muốn xóa Spork.preforkSpork.each_run.

Xem the Zeus wiki on Spork