Код очистки FactoryGirl

Вот моя фабрика Ride:

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 и вызвать его с завода. Как это сделать?


person Webspirit    schedule 11.10.2014    source источник


Ответы (1)


В /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 factory?

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

person Leantraxxx    schedule 12.10.2014