17
16

More than 5 years have passed since last update.

FactoryGirlでランダムな値がほしいとき

Last updated at Posted at 2014-05-15

Seleniumを使ってフォームのテストを作ってて擬似的にランダムな値をセットしてほしいとき、

class User
    attr_accessor :name, :position, :age
end
factories/user.rb
FactoryGirl.define do
    factory :user do
        sequence(:name){|n| "太郎#{n}"}
        position ['課長','係長','部長'].sample
        age [*1..100].sample
    end
end

これをこうしても

users = FactoryGirl.build_list(:user, 10)

名前が違っても中身が同じくなる。

取り敢えずこうしてみた

factories/user.rb
FactoryGirl.define do
    factory :user do
        sequence(:name){|n| "太郎#{n}"}
        sequence(:position){ ['課長','係長','部長'].sample }
        sequence(:age){ [*1..100].sample }
    end
end

中身が揺れてくれた。本当はどうするんだろ?

17
16
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
16