我有一个带有FactoryGirl和rSpec的新Rails 4项目。在我的spec_helper.rb
我有:
# lots of stuff
RSpec.configure do |config|
# more stuff
config.include FactoryGirl::Syntax::Methods
end
我还删除了此文件中的rspec/autorun
要求。
一个简单的规范:
require 'spec_helper'
describe User do
build(:user)
end
有一个简单的工厂:
FactoryGirl.define do
factory :user do
email "somename@someplace.com"
end
end
失败并显示以下消息。
`block in <top (required)>': undefined method `build' for #<Class:0x007fd46d0e3848> (NoMethodError)
但是,如果我在规范中明确限定build
,则通过:
require 'spec_helper'
describe User do
FactoryGirl.build(:user)
end
我能做什么,所以我不必每次都添加FactoryGirl
?
答案 0 :(得分:10)
传递给config.include
的方法仅包含在it
,let
,before
和after
块中的RSpec中,而不是顶层describe
。因为那时你通常需要设置你的设置和测试逻辑,实际上它并不是一个真正的问题。