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