0

这是我的骑行工厂:

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}"

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

4

1 回答 1

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

我在我的项目上做了这个,效果很好,但你也可以检查这些选项......

如何在 factory_girl 工厂中包含模块?

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

于 2014-10-12T00:13:00.220 回答