2014-10-11 171 views
0

这里是我的顺风车厂:FactoryGirl清理代码

FactoryGirl.define do 
    factory :ride do 
    departure_address "#{Faker::Address.street_address}, #{Faker::Address.city} #{Faker::Address.country}" 
    end 
end 

如何收拾这个丑陋的代码? "#{Faker::Address.street_address}, #{Faker::Address.city} #{Faker::Address.country}"

我想在test/helpers中创建一个fake_full_address方法,并从工厂调用它。怎么做?

回答

0

/lib目录你可以把你的助手模块:

module MyHelper 
    def self.full_address 
    "#{Faker::Address.street_address}, #{Faker::Address.city} #{Faker::Address.country}" 
    end 
end 

的在你的工厂,你能给我们这包括你的帮手:

require 'my_helper.rb' 

FactoryGirl.define do 
    factory :ride do 
    departure_address MyHelper.full_address 
    end 
end 

我这样做对我的项目,它效果不错,但你也可以检查这些选项...

How to include a module in a factory_girl factory?

https://github.com/thoughtbot/factory_girl/issues/564